1 package org.djunits.value.vdouble.matrix;
2
3 import org.djunits.unit.DurationUnit;
4 import org.djunits.value.StorageType;
5 import org.djunits.value.ValueException;
6 import org.djunits.value.vdouble.scalar.Duration;
7
8
9
10
11
12
13
14
15
16
17
18
19 public class DurationMatrix extends AbstractDoubleMatrixRel<DurationUnit, DurationMatrix, MutableDurationMatrix, Duration>
20 {
21
22 private static final long serialVersionUID = 20151006L;
23
24
25
26
27
28
29
30
31 public DurationMatrix(final double[][] values, final DurationUnit unit, final StorageType storageType) throws ValueException
32 {
33 super(values, unit, storageType);
34 }
35
36
37
38
39
40
41
42
43 public DurationMatrix(final Duration[][] values, final StorageType storageType) throws ValueException
44 {
45 super(values, storageType);
46 }
47
48
49
50
51
52
53 DurationMatrix(final DoubleMatrixData data, final DurationUnit unit)
54 {
55 super(data, unit);
56 }
57
58
59 @Override
60 public final DurationMatrix toDense()
61 {
62 return this.data.isDense() ? this : instantiateType(this.data.toDense(), getUnit());
63 }
64
65
66 @Override
67 public final DurationMatrix toSparse()
68 {
69 return this.data.isSparse() ? this : instantiateType(this.data.toSparse(), getUnit());
70 }
71
72
73 @Override
74 protected final DurationMatrix instantiateType(final DoubleMatrixData dmd, final DurationUnit unit)
75 {
76 return new DurationMatrix(dmd, unit);
77 }
78
79
80 @Override
81 protected final MutableDurationMatrix instantiateMutableType(final DoubleMatrixData dmd, final DurationUnit unit)
82 {
83 return new MutableDurationMatrix(dmd, unit);
84 }
85
86
87 @Override
88 protected final Duration instantiateScalar(final double value, final DurationUnit unit)
89 {
90 return new Duration(value, unit);
91 }
92
93 }