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