1 package org.djunits.value.vdouble.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.vdouble.scalar.DoubleScalar;
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public abstract class MutableDoubleVector
26 {
27
28
29
30
31
32 public static class Abs<AU extends AbsoluteLinearUnit<AU, RU>, RU extends Unit<RU>> extends AbstractMutableDoubleVectorAbs<
33 AU, RU, DoubleVector.Abs<AU, RU>, DoubleVector.Rel<RU>, MutableDoubleVector.Abs<AU, RU>, DoubleScalar.Abs<AU, RU>>
34 {
35
36 private static final long serialVersionUID = 20150626L;
37
38
39
40
41
42
43
44
45 public Abs(final double[] values, final AU unit, final StorageType storageType) throws ValueException
46 {
47 super(values, unit, storageType);
48 }
49
50
51
52
53
54
55
56
57 public Abs(final List<Double> values, final AU unit, final StorageType storageType) throws ValueException
58 {
59 super(values, unit, storageType);
60 }
61
62
63
64
65
66
67
68 public Abs(final DoubleScalar.Abs<AU, RU>[] values, final StorageType storageType) throws ValueException
69 {
70 super(values, storageType);
71 }
72
73
74
75
76
77
78
79
80 public Abs(final List<DoubleScalar.Abs<AU, RU>> values, final StorageType storageType) throws ValueException
81 {
82 super(values, storageType);
83 }
84
85
86
87
88
89
90
91
92
93 public Abs(final SortedMap<Integer, DoubleScalar.Abs<AU, RU>> values, final int length, final StorageType storageType)
94 throws ValueException
95 {
96 super(values, length, storageType);
97 }
98
99
100
101
102
103
104
105
106
107
108 public Abs(final SortedMap<Integer, Double> values, final AU unit, final int length, final StorageType storageType)
109 throws ValueException
110 {
111 super(values, unit, length, storageType);
112 }
113
114
115
116
117
118
119 public Abs(final DoubleVectorData data, final AU unit)
120 {
121 super(data, unit);
122 }
123
124
125 @Override
126 protected final DoubleVector.Abs<AU, RU> instantiateTypeAbs(final DoubleVectorData dvd, final AU unit)
127 {
128 return new DoubleVector.Abs<AU, RU>(dvd, unit);
129 }
130
131
132 @Override
133 protected final DoubleVector.Rel<RU> instantiateTypeRel(final DoubleVectorData dvd, final RU unit)
134 {
135 return new DoubleVector.Rel<RU>(dvd, unit);
136 }
137
138
139 @Override
140 protected final MutableDoubleVector.Abs<AU, RU> instantiateMutableType(final DoubleVectorData dvd, final AU unit)
141 {
142 return new MutableDoubleVector.Abs<AU, RU>(dvd, unit);
143 }
144
145
146 @Override
147 protected final DoubleScalar.Abs<AU, RU> instantiateScalar(final double value, final AU unit)
148 {
149 return new DoubleScalar.Abs<AU, RU>(value, unit);
150 }
151
152
153 @Override
154 public final MutableDoubleVector.Abs<AU, RU> toDense()
155 {
156 return this.data.isDense() ? (MutableDoubleVector.Abs<AU, RU>) this
157 : instantiateMutableType(this.data.toDense(), getUnit());
158 }
159
160
161 @Override
162 public final MutableDoubleVector.Abs<AU, RU> toSparse()
163 {
164 return this.data.isSparse() ? (MutableDoubleVector.Abs<AU, RU>) this
165 : instantiateMutableType(this.data.toSparse(), getUnit());
166 }
167 }
168
169
170
171
172
173 public static class Rel<U extends Unit<U>>
174 extends AbstractMutableDoubleVectorRel<U, DoubleVector.Rel<U>, MutableDoubleVector.Rel<U>, DoubleScalar.Rel<U>>
175 {
176
177 private static final long serialVersionUID = 20150626L;
178
179
180
181
182
183
184
185
186 public Rel(final double[] values, final U unit, final StorageType storageType) throws ValueException
187 {
188 super(values, unit, storageType);
189 }
190
191
192
193
194
195
196
197
198 public Rel(final List<Double> values, final U unit, final StorageType storageType) throws ValueException
199 {
200 super(values, unit, storageType);
201 }
202
203
204
205
206
207
208
209 public Rel(final DoubleScalar.Rel<U>[] values, final StorageType storageType) throws ValueException
210 {
211 super(values, storageType);
212 }
213
214
215
216
217
218
219
220
221 public Rel(final List<DoubleScalar.Rel<U>> values, final StorageType storageType) throws ValueException
222 {
223 super(values, storageType);
224 }
225
226
227
228
229
230
231
232
233
234 public Rel(final SortedMap<Integer, DoubleScalar.Rel<U>> values, final int length, final StorageType storageType)
235 throws ValueException
236 {
237 super(values, length, storageType);
238 }
239
240
241
242
243
244
245
246
247
248
249 public Rel(final SortedMap<Integer, Double> values, final U unit, final int length, final StorageType storageType)
250 throws ValueException
251 {
252 super(values, unit, length, storageType);
253 }
254
255
256
257
258
259
260 public Rel(final DoubleVectorData data, final U unit)
261 {
262 super(data, unit);
263 }
264
265
266 @Override
267 protected final DoubleVector.Rel<U> instantiateType(final DoubleVectorData dvd, final U unit)
268 {
269 return new DoubleVector.Rel<U>(dvd, unit);
270 }
271
272
273 @Override
274 protected final MutableDoubleVector.Rel<U> instantiateMutableType(final DoubleVectorData dvd, final U unit)
275 {
276 return new MutableDoubleVector.Rel<U>(dvd, unit);
277 }
278
279
280 @Override
281 protected final DoubleScalar.Rel<U> instantiateScalar(final double value, final U unit)
282 {
283 return new DoubleScalar.Rel<U>(value, unit);
284 }
285
286
287 @Override
288 public final MutableDoubleVector.Rel<U> toDense()
289 {
290 return this.data.isDense() ? (MutableDoubleVector.Rel<U>) this
291 : instantiateMutableType(this.data.toDense(), getUnit());
292 }
293
294
295 @Override
296 public final MutableDoubleVector.Rel<U> toSparse()
297 {
298 return this.data.isSparse() ? (MutableDoubleVector.Rel<U>) this
299 : instantiateMutableType(this.data.toSparse(), getUnit());
300 }
301
302 }
303
304 }