View Javadoc
1   package org.djunits.value.vfloat.vector;
2   
3   import java.util.List;
4   import java.util.SortedMap;
5   
6   import org.djunits.unit.AbsoluteLinearUnit;
7   import org.djunits.unit.Unit;
8   import org.djunits.value.StorageType;
9   import org.djunits.value.ValueException;
10  import org.djunits.value.vfloat.scalar.FloatScalar;
11  
12  /**
13   * MutableFloatVector.
14   * <p>
15   * This file was generated by the djunits value classes generator, 26 jun, 2015
16   * <p>
17   * Copyright (c) 2015-2019 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
18   * BSD-style license. See <a href="http://djunits.org/docs/license.html">DJUNITS License</a>.
19   * <p>
20   * $LastChangedDate: 2019-01-18 00:35:01 +0100 (Fri, 18 Jan 2019) $, @version $Revision: 324 $, by $Author: averbraeck $,
21   * initial version 30 Oct, 2015 <br>
22   * @author <a href="http://www.tbm.tudelft.nl/averbraeck">Alexander Verbraeck</a>
23   * @author <a href="http://www.tudelft.nl/pknoppers">Peter Knoppers</a>
24   */
25  public abstract class MutableFloatVector
26  {
27      /**
28       * Absolute Immutable FloatVector.
29       * @param <AU> Absolute unit
30       * @param <RU> Relative unit
31       */
32      public static class Abs<AU extends AbsoluteLinearUnit<AU, RU>, RU extends Unit<RU>> extends AbstractMutableFloatVectorAbs<
33              AU, RU, FloatVector.Abs<AU, RU>, FloatVector.Rel<RU>, MutableFloatVector.Abs<AU, RU>, FloatScalar.Abs<AU, RU>>
34      {
35          /**  */
36          private static final long serialVersionUID = 20150626L;
37  
38          /**
39           * Construct a new Absolute Mutable FloatVector.
40           * @param values float[]; the values of the entries in the new Absolute Mutable FloatVector
41           * @param unit AU; the unit of the new Absolute Mutable FloatVector
42           * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
43           * @throws ValueException when values is null
44           */
45          public Abs(final float[] values, final AU unit, final StorageType storageType) throws ValueException
46          {
47              super(values, unit, storageType);
48          }
49  
50          /**
51           * Construct a new Absolute Mutable FloatVector.
52           * @param values List&lt;Float&gt;; the values of the entries in the new Absolute Mutable FloatVector
53           * @param unit AU; the unit of the new Absolute Mutable FloatVector
54           * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
55           * @throws ValueException when values is null
56           */
57          public Abs(final List<Float> values, final AU unit, final StorageType storageType) throws ValueException
58          {
59              super(values, unit, storageType);
60          }
61  
62          /**
63           * Construct a new Absolute Mutable FloatVector.
64           * @param values FloatScalar.Abs&lt;AU, RU&gt;[]; the values of the entries in the new Absolute Mutable FloatVector
65           * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
66           * @throws ValueException when values has zero entries
67           */
68          public Abs(final FloatScalar.Abs<AU, RU>[] values, final StorageType storageType) throws ValueException
69          {
70              super(values, storageType);
71          }
72  
73          /**
74           * Construct a new Absolute Mutable FloatVector.
75           * @param values List&lt;FloatScalar.Abs&lt;AU, RU&gt;&gt;; the values of the entries in the new Absolute Mutable
76           *            FloatVector
77           * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
78           * @throws ValueException when values has zero entries
79           */
80          public Abs(final List<FloatScalar.Abs<AU, RU>> values, final StorageType storageType) throws ValueException
81          {
82              super(values, storageType);
83          }
84  
85          /**
86           * Construct a new Absolute Mutable FloatVector.
87           * @param values SortedMap&lt;Integer, FloatScalar.Abs&lt;AU, RU&gt;&gt;; the values of the entries in the new Absolute
88           *            Sparse Mutable FloatVector
89           * @param length int; the size of the vector
90           * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
91           * @throws ValueException when values has zero entries
92           */
93          public Abs(final SortedMap<Integer, FloatScalar.Abs<AU, RU>> values, final int length, final StorageType storageType)
94                  throws ValueException
95          {
96              super(values, length, storageType);
97          }
98  
99          /**
100          * Construct a new Absolute Mutable FloatVector.
101          * @param values SortedMap&lt;Integer, Float&gt;; the map of indexes to values of the Absolute Sparse Mutable
102          *            FloatVector
103          * @param unit AU; the unit of the new Absolute Sparse Mutable FloatVector
104          * @param length int; the size of the vector
105          * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
106          * @throws ValueException when values is null
107          */
108         public Abs(final SortedMap<Integer, Float> values, final AU unit, final int length, final StorageType storageType)
109                 throws ValueException
110         {
111             super(values, unit, length, storageType);
112         }
113 
114         /**
115          * Construct a new Absolute Mutable FloatVector.
116          * @param data FloatVectorData; an internal data object
117          * @param unit AU; the unit
118          */
119         public Abs(final FloatVectorData data, final AU unit)
120         {
121             super(data, unit);
122         }
123 
124         /** {@inheritDoc} */
125         @Override
126         protected final FloatVector.Abs<AU, RU> instantiateTypeAbs(final FloatVectorData dvd, final AU unit)
127         {
128             return new FloatVector.Abs<AU, RU>(dvd, unit);
129         }
130 
131         /** {@inheritDoc} */
132         @Override
133         protected final FloatVector.Rel<RU> instantiateTypeRel(final FloatVectorData dvd, final RU unit)
134         {
135             return new FloatVector.Rel<RU>(dvd, unit);
136         }
137 
138         /** {@inheritDoc} */
139         @Override
140         protected final MutableFloatVector.Abs<AU, RU> instantiateMutableType(final FloatVectorData dvd, final AU unit)
141         {
142             return new MutableFloatVector.Abs<AU, RU>(dvd, unit);
143         }
144 
145         /** {@inheritDoc} */
146         @Override
147         protected final FloatScalar.Abs<AU, RU> instantiateScalar(final float value, final AU unit)
148         {
149             return new FloatScalar.Abs<AU, RU>(value, unit);
150         }
151 
152         /** {@inheritDoc} */
153         @Override
154         public final MutableFloatVector.Abs<AU, RU> toDense()
155         {
156             return this.data.isDense() ? (MutableFloatVector.Abs<AU, RU>) this
157                     : instantiateMutableType(this.data.toDense(), getUnit());
158         }
159 
160         /** {@inheritDoc} */
161         @Override
162         public final MutableFloatVector.Abs<AU, RU> toSparse()
163         {
164             return this.data.isSparse() ? (MutableFloatVector.Abs<AU, RU>) this
165                     : instantiateMutableType(this.data.toSparse(), getUnit());
166         }
167     }
168 
169     /**
170      * Relative Immutable FloatVector.
171      * @param <U> Unit
172      */
173     public static class Rel<U extends Unit<U>>
174             extends AbstractMutableFloatVectorRel<U, FloatVector.Rel<U>, MutableFloatVector.Rel<U>, FloatScalar.Rel<U>>
175     {
176         /**  */
177         private static final long serialVersionUID = 20150626L;
178 
179         /**
180          * Construct a new Relative Mutable FloatVector.
181          * @param values float[]; the values of the entries in the new Relative Mutable FloatVector
182          * @param unit U; the unit of the new Relative Mutable FloatVector
183          * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
184          * @throws ValueException when values is null
185          */
186         public Rel(final float[] values, final U unit, final StorageType storageType) throws ValueException
187         {
188             super(values, unit, storageType);
189         }
190 
191         /**
192          * Construct a new Relative Mutable FloatVector.
193          * @param values List&lt;Float&gt;; the values of the entries in the new Relative Mutable FloatVector
194          * @param unit U; the unit of the new Relative Mutable FloatVector
195          * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
196          * @throws ValueException when values is null
197          */
198         public Rel(final List<Float> values, final U unit, final StorageType storageType) throws ValueException
199         {
200             super(values, unit, storageType);
201         }
202 
203         /**
204          * Construct a new Relative Mutable FloatVector.
205          * @param values FloatScalar.Rel&lt;U&gt;[]; the values of the entries in the new Relative Mutable FloatVector
206          * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
207          * @throws ValueException when values has zero entries
208          */
209         public Rel(final FloatScalar.Rel<U>[] values, final StorageType storageType) throws ValueException
210         {
211             super(values, storageType);
212         }
213 
214         /**
215          * Construct a new Relative Mutable FloatVector.
216          * @param values List&lt;FloatScalar.Rel&lt;U&gt;&gt;; the values of the entries in the new Relative Mutable FloatVector
217          * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
218          * @throws ValueException when values has zero entries
219          */
220         public Rel(final List<FloatScalar.Rel<U>> values, final StorageType storageType) throws ValueException
221         {
222             super(values, storageType);
223         }
224 
225         /**
226          * Construct a new Relative Mutable FloatVector.
227          * @param values SortedMap&lt;Integer, FloatScalar.Rel&lt;U&gt;&gt;; the values of the entries in the new Relative
228          *            Sparse Mutable FloatVector
229          * @param length int; the size of the vector
230          * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
231          * @throws ValueException when values has zero entries
232          */
233         public Rel(final SortedMap<Integer, FloatScalar.Rel<U>> values, final int length, final StorageType storageType)
234                 throws ValueException
235         {
236             super(values, length, storageType);
237         }
238 
239         /**
240          * Construct a new Relative Mutable FloatVector.
241          * @param values SortedMap&lt;Integer, Float&gt;; the map of indexes to values of the Relative Sparse Mutable
242          *            FloatVector
243          * @param unit U; the unit of the new Relative Sparse Mutable FloatVector
244          * @param length int; the size of the vector
245          * @param storageType StorageType; the data type to use (e.g., DENSE or SPARSE)
246          * @throws ValueException when values is null
247          */
248         public Rel(final SortedMap<Integer, Float> values, final U unit, final int length, final StorageType storageType)
249                 throws ValueException
250         {
251             super(values, unit, length, storageType);
252         }
253 
254         /**
255          * Construct a new Relative Mutable FloatVector.
256          * @param data FloatVectorData; an internal data object
257          * @param unit U; the unit
258          */
259         public Rel(final FloatVectorData data, final U unit)
260         {
261             super(data, unit);
262         }
263 
264         /** {@inheritDoc} */
265         @Override
266         protected final FloatVector.Rel<U> instantiateType(final FloatVectorData dvd, final U unit)
267         {
268             return new FloatVector.Rel<U>(dvd, unit);
269         }
270 
271         /** {@inheritDoc} */
272         @Override
273         protected final MutableFloatVector.Rel<U> instantiateMutableType(final FloatVectorData dvd, final U unit)
274         {
275             return new MutableFloatVector.Rel<U>(dvd, unit);
276         }
277 
278         /** {@inheritDoc} */
279         @Override
280         protected final FloatScalar.Rel<U> instantiateScalar(final float value, final U unit)
281         {
282             return new FloatScalar.Rel<U>(value, unit);
283         }
284 
285         /** {@inheritDoc} */
286         @Override
287         public final MutableFloatVector.Rel<U> toDense()
288         {
289             return this.data.isDense() ? (MutableFloatVector.Rel<U>) this
290                     : instantiateMutableType(this.data.toDense(), getUnit());
291         }
292 
293         /** {@inheritDoc} */
294         @Override
295         public final MutableFloatVector.Rel<U> toSparse()
296         {
297             return this.data.isSparse() ? (MutableFloatVector.Rel<U>) this
298                     : instantiateMutableType(this.data.toSparse(), getUnit());
299         }
300 
301     }
302 
303 }