View Javadoc
1   package floatvectordemo;
2   
3   import org.djunits.unit.LengthUnit;
4   import org.djunits.unit.TemperatureUnit;
5   import org.djunits.value.ValueException;
6   import org.djunits.value.vfloat.vector.FloatVector;
7   import org.djunits.value.vfloat.vector.MutableFloatVector;
8   
9   /**
10   * Demonstrate use of FloatVector and MutableFloatVector.
11   * <p>
12   * Copyright (c) 2013-2015 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
13   * BSD-style license. See <a href="http://opentrafficsim.org/docs/license.html">OpenTrafficSim License</a>.
14   * <p>
15   * $LastChangedDate: 2015-08-30 00:16:51 +0200 (Sun, 30 Aug 2015) $, @version $Revision: 1329 $, by $Author: averbraeck $,
16   * initial version Sep 2, 2014 <br>
17   * @author <a href="http://www.tudelft.nl/pknoppers">Peter Knoppers</a>
18   */
19  public final class FloatVectorDemo
20  {
21      /**
22       * Prevent instantiation of this class.
23       */
24      private FloatVectorDemo()
25      {
26          // This class should never be instantiated.
27      }
28  
29      /**
30       * Demonstrate the use of FloatVector and MutableFloatVector.
31       * @param args String[]; the command line argument; not used
32       * @throws ValueException should not happen in this demo code
33       */
34      public static void main(final String[] args) throws ValueException
35      {
36          System.out.println("Creating FloatVector.Abs.Dense fad");
37          FloatVector.Abs.Dense<LengthUnit> fad =
38              new FloatVector.Abs.Dense<LengthUnit>(new float[]{1.0f, 2.0f, 3.0f}, LengthUnit.MILE);
39          System.out.println("fad:             " + fad.toString());
40  
41          System.out.println("Creating FloatVector.Rel.Dense frd");
42          FloatVector.Rel.Dense<LengthUnit> frd =
43              new FloatVector.Rel.Dense<LengthUnit>(new float[]{4.0f, 5.0f, 6.0f}, LengthUnit.KILOMETER);
44          System.out.println("frd:             " + frd.toString());
45  
46          System.out.println("Creating FloatVector.Abs.Dense fadsum by adding fdb to fda");
47          MutableFloatVector.Abs.Dense<LengthUnit> fadsum = null;
48          try
49          {
50              fadsum = FloatVector.plus(fad, frd);
51              System.out.println("fadsum:          " + fadsum.toString());
52          }
53          catch (ValueException exception)
54          {
55              exception.printStackTrace();
56          }
57  
58          System.out.println("Creating MutableFloatVector.Abs.Dense mfad");
59          MutableFloatVector.Abs.Dense<TemperatureUnit> mfad =
60              new MutableFloatVector.Abs.Dense<TemperatureUnit>(new float[]{1.0f, 2.0f, 3.0f}, TemperatureUnit.KELVIN);
61          System.out.println("mafa:            " + mfad.toString());
62          System.out.println("Making immutable version ifad of mfad");
63          FloatVector.Abs.Dense<TemperatureUnit> ifad = mfad.immutable();
64          System.out.println("ifad:            " + ifad);
65          System.out.println("normalizing mfad");
66          try
67          {
68              mfad.normalize();
69          }
70          catch (ValueException exception)
71          {
72              exception.printStackTrace();
73          }
74          System.out.println("normalized mfad: " + mfad.toString());
75          mfad.multiplyBy(0.5f).multiplyBy(0.2f);
76          System.out.println("mfad * 0.5 * 0.2:" + mfad);
77          System.out.println("ifad:            " + ifad);
78      }
79  }