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