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