1 package org.djunits.value.vfloat.vector;
2
3 import java.util.List;
4 import java.util.SortedMap;
5
6 import org.djunits.unit.DimensionlessUnit;
7 import org.djunits.value.MathFunctionsDimensionless;
8 import org.djunits.value.StorageType;
9 import org.djunits.value.ValueException;
10 import org.djunits.value.vfloat.FloatMathFunctions;
11 import org.djunits.value.vfloat.scalar.FloatDimensionless;
12
13
14
15
16
17
18
19
20
21
22
23
24 public class MutableFloatDimensionlessVector extends AbstractMutableFloatVectorRel<DimensionlessUnit, FloatDimensionlessVector,
25 MutableFloatDimensionlessVector, FloatDimensionless>
26 implements MathFunctionsDimensionless<MutableFloatDimensionlessVector>
27 {
28
29 private static final long serialVersionUID = 20151109L;
30
31
32
33
34
35
36
37
38 public MutableFloatDimensionlessVector(final float[] values, final DimensionlessUnit unit, final StorageType storageType)
39 throws ValueException
40 {
41 super(values, unit, storageType);
42 }
43
44
45
46
47
48
49
50
51 public MutableFloatDimensionlessVector(final List<Float> values, final DimensionlessUnit unit,
52 final StorageType storageType) throws ValueException
53 {
54 super(values, unit, storageType);
55 }
56
57
58
59
60
61
62
63
64 public MutableFloatDimensionlessVector(final FloatDimensionless[] values, final StorageType storageType)
65 throws ValueException
66 {
67 super(values, storageType);
68 }
69
70
71
72
73
74
75
76 public MutableFloatDimensionlessVector(final List<FloatDimensionless> values, final StorageType storageType)
77 throws ValueException
78 {
79 super(values, storageType);
80 }
81
82
83
84
85
86
87
88
89
90 public MutableFloatDimensionlessVector(final SortedMap<Integer, FloatDimensionless> values, final int length,
91 final StorageType storageType) throws ValueException
92 {
93 super(values, length, storageType);
94 }
95
96
97
98
99
100
101
102
103
104 public MutableFloatDimensionlessVector(final SortedMap<Integer, Float> values, final DimensionlessUnit unit,
105 final int length, final StorageType storageType) throws ValueException
106 {
107 super(values, unit, length, storageType);
108 }
109
110
111
112
113
114 MutableFloatDimensionlessVector(final FloatVectorData data, final DimensionlessUnit unit)
115 {
116 super(data, unit);
117 }
118
119
120 @Override
121 protected final FloatDimensionlessVector instantiateType(final FloatVectorData dvd, final DimensionlessUnit unit)
122 {
123 return new FloatDimensionlessVector(dvd, unit);
124 }
125
126
127 @Override
128 protected final MutableFloatDimensionlessVector instantiateMutableType(final FloatVectorData dvd,
129 final DimensionlessUnit unit)
130 {
131 return new MutableFloatDimensionlessVector(dvd, unit);
132 }
133
134
135 @Override
136 protected final FloatDimensionless instantiateScalar(final float value, final DimensionlessUnit unit)
137 {
138 return new FloatDimensionless(value, unit);
139 }
140
141
142 @Override
143 public final MutableFloatDimensionlessVector toDense()
144 {
145 return this.data.isDense() ? (MutableFloatDimensionlessVector) this
146 : instantiateMutableType(this.data.toDense(), getUnit());
147 }
148
149
150 @Override
151 public final MutableFloatDimensionlessVector toSparse()
152 {
153 return this.data.isSparse() ? (MutableFloatDimensionlessVector) this
154 : instantiateMutableType(this.data.toSparse(), getUnit());
155 }
156
157
158
159
160
161
162 public FloatDimensionless[] toArray()
163 {
164 FloatDimensionless[] array = new FloatDimensionless[size()];
165 for (int i = 0; i < size(); i++)
166 {
167 try
168 {
169 array[i] = get(i);
170 }
171 catch (ValueException exception)
172 {
173 throw new RuntimeException(exception);
174 }
175 }
176 return array;
177 }
178
179
180 @Override
181 public final MutableFloatDimensionlessVector acos()
182 {
183 assign(FloatMathFunctions.ACOS);
184 return this;
185 }
186
187
188 @Override
189 public final MutableFloatDimensionlessVector asin()
190 {
191 assign(FloatMathFunctions.ASIN);
192 return this;
193 }
194
195
196 @Override
197 public final MutableFloatDimensionlessVector atan()
198 {
199 assign(FloatMathFunctions.ATAN);
200 return this;
201 }
202
203
204 @Override
205 public final MutableFloatDimensionlessVector cbrt()
206 {
207 assign(FloatMathFunctions.CBRT);
208 return this;
209 }
210
211
212 @Override
213 public final MutableFloatDimensionlessVector cos()
214 {
215 assign(FloatMathFunctions.COS);
216 return this;
217 }
218
219
220 @Override
221 public final MutableFloatDimensionlessVector cosh()
222 {
223 assign(FloatMathFunctions.COSH);
224 return this;
225 }
226
227
228 @Override
229 public final MutableFloatDimensionlessVector exp()
230 {
231 assign(FloatMathFunctions.EXP);
232 return this;
233 }
234
235
236 @Override
237 public final MutableFloatDimensionlessVector expm1()
238 {
239 assign(FloatMathFunctions.EXPM1);
240 return this;
241 }
242
243
244 @Override
245 public final MutableFloatDimensionlessVector log()
246 {
247 assign(FloatMathFunctions.LOG);
248 return this;
249 }
250
251
252 @Override
253 public final MutableFloatDimensionlessVector log10()
254 {
255 assign(FloatMathFunctions.LOG10);
256 return this;
257 }
258
259
260 @Override
261 public final MutableFloatDimensionlessVector log1p()
262 {
263 assign(FloatMathFunctions.LOG1P);
264 return this;
265 }
266
267
268 @Override
269 public final MutableFloatDimensionlessVector pow(final double x)
270 {
271 assign(FloatMathFunctions.POW((float) x));
272 return this;
273 }
274
275
276 @Override
277 public final MutableFloatDimensionlessVector signum()
278 {
279 assign(FloatMathFunctions.SIGNUM);
280 return this;
281 }
282
283
284 @Override
285 public final MutableFloatDimensionlessVector sin()
286 {
287 assign(FloatMathFunctions.SIN);
288 return this;
289 }
290
291
292 @Override
293 public final MutableFloatDimensionlessVector sinh()
294 {
295 assign(FloatMathFunctions.SINH);
296 return this;
297 }
298
299
300 @Override
301 public final MutableFloatDimensionlessVector sqrt()
302 {
303 assign(FloatMathFunctions.SQRT);
304 return this;
305 }
306
307
308 @Override
309 public final MutableFloatDimensionlessVector tan()
310 {
311 assign(FloatMathFunctions.TAN);
312 return this;
313 }
314
315
316 @Override
317 public final MutableFloatDimensionlessVector tanh()
318 {
319 assign(FloatMathFunctions.TANH);
320 return this;
321 }
322
323
324 @Override
325 public final MutableFloatDimensionlessVector inv()
326 {
327 assign(FloatMathFunctions.INV);
328 return this;
329 }
330
331 }