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