1 package org.djunits.value.vdouble.matrix;
2
3 import org.djunits.unit.AbsorbedDoseUnit;
4 import org.djunits.unit.AccelerationUnit;
5 import org.djunits.unit.AmountOfSubstanceUnit;
6 import org.djunits.unit.AngleUnit;
7 import org.djunits.unit.AngularAccelerationUnit;
8 import org.djunits.unit.AngularVelocityUnit;
9 import org.djunits.unit.AreaUnit;
10 import org.djunits.unit.CatalyticActivityUnit;
11 import org.djunits.unit.DensityUnit;
12 import org.djunits.unit.DimensionlessUnit;
13 import org.djunits.unit.DurationUnit;
14 import org.djunits.unit.ElectricalCapacitanceUnit;
15 import org.djunits.unit.ElectricalChargeUnit;
16 import org.djunits.unit.ElectricalConductanceUnit;
17 import org.djunits.unit.ElectricalCurrentUnit;
18 import org.djunits.unit.ElectricalInductanceUnit;
19 import org.djunits.unit.ElectricalPotentialUnit;
20 import org.djunits.unit.ElectricalResistanceUnit;
21 import org.djunits.unit.EnergyUnit;
22 import org.djunits.unit.EquivalentDoseUnit;
23 import org.djunits.unit.FlowMassUnit;
24 import org.djunits.unit.FlowVolumeUnit;
25 import org.djunits.unit.ForceUnit;
26 import org.djunits.unit.FrequencyUnit;
27 import org.djunits.unit.IlluminanceUnit;
28 import org.djunits.unit.LengthUnit;
29 import org.djunits.unit.LinearDensityUnit;
30 import org.djunits.unit.LuminousFluxUnit;
31 import org.djunits.unit.LuminousIntensityUnit;
32 import org.djunits.unit.MagneticFluxDensityUnit;
33 import org.djunits.unit.MagneticFluxUnit;
34 import org.djunits.unit.MassUnit;
35 import org.djunits.unit.MomentumUnit;
36 import org.djunits.unit.PowerUnit;
37 import org.djunits.unit.PressureUnit;
38 import org.djunits.unit.RadioActivityUnit;
39 import org.djunits.unit.SIUnit;
40 import org.djunits.unit.SolidAngleUnit;
41 import org.djunits.unit.SpeedUnit;
42 import org.djunits.unit.TemperatureUnit;
43 import org.djunits.unit.TorqueUnit;
44 import org.djunits.unit.Unit;
45 import org.djunits.unit.VolumeUnit;
46 import org.djunits.unit.si.SIDimensions;
47 import org.djunits.unit.util.UnitRuntimeException;
48 import org.djunits.value.ValueRuntimeException;
49 import org.djunits.value.storage.StorageType;
50 import org.djunits.value.vdouble.matrix.base.DoubleMatrixRel;
51 import org.djunits.value.vdouble.matrix.data.DoubleMatrixData;
52 import org.djunits.value.vdouble.scalar.SIScalar;
53 import org.djunits.value.vdouble.vector.SIVector;
54 import org.djunits.value.vdouble.vector.data.DoubleVectorData;
55 import org.djutils.exceptions.Throw;
56
57 import jakarta.annotation.Generated;
58
59
60
61
62
63
64
65
66
67
68
69 @Generated(value = "org.djunits.generator.GenerateDJUNIT", date = "2023-07-23T14:06:38.224104100Z")
70 public class SIMatrix extends DoubleMatrixRel<SIUnit, SIScalar, SIVector, SIMatrix>
71 {
72
73 private static final long serialVersionUID = 20150901L;
74
75
76
77
78
79
80 public SIMatrix(final DoubleMatrixData data, final SIUnit unit)
81 {
82 super(data, unit);
83 }
84
85
86
87
88
89
90
91
92 public SIMatrix(final double[][] values, final SIUnit unit, final StorageType storageType) throws ValueRuntimeException
93 {
94 this(DoubleMatrixData.instantiate(values, unit.getScale(), storageType), unit);
95 }
96
97
98
99
100
101
102
103
104 public SIMatrix(final double[][] values, final SIUnit unit) throws ValueRuntimeException
105 {
106 this(values, unit, StorageType.DENSE);
107 }
108
109
110 @Override
111 public Class<SIScalar> getScalarClass()
112 {
113 return SIScalar.class;
114 }
115
116
117 @Override
118 public Class<SIVector> getVectorClass()
119 {
120 return SIVector.class;
121 }
122
123
124
125
126
127
128
129
130
131
132 public static SIMatrix of(final double[][] values, final String unitString, final StorageType storageType)
133 {
134 Throw.whenNull(values, "Error parsing SIMatrix: value is null");
135 Throw.whenNull(unitString, "Error parsing SIMatrix: unitString is null");
136 Throw.whenNull(storageType, "Error parsing SIMatrix: storageType is null");
137 try
138 {
139 SIUnit unit = Unit.lookupOrCreateUnitWithSIDimensions(SIDimensions.of(unitString));
140 if (unit != null)
141 {
142 return new SIMatrix(values, unit, storageType);
143 }
144 }
145 catch (Exception exception)
146 {
147 throw new IllegalArgumentException("Error parsing SIUnit from " + unitString, exception);
148 }
149 throw new IllegalArgumentException("Error parsing SIMatrix with unit " + unitString);
150 }
151
152
153 @Override
154 public SIMatrix instantiateMatrix(final DoubleMatrixData dmd, final SIUnit unit)
155 {
156 return new SIMatrix(dmd, unit);
157 }
158
159
160 @Override
161 public SIVector instantiateVector(final DoubleVectorData dvd, final SIUnit unit)
162 {
163 return new SIVector(dvd, unit);
164 }
165
166
167 @Override
168 public SIScalar instantiateScalarSI(final double valueSI, final SIUnit unit)
169 {
170 return new SIScalar(valueSI, unit);
171 }
172
173
174 @Override
175 public String toString(final SIUnit displayUnit, final boolean verbose, final boolean withUnit)
176 {
177 return super.toString(displayUnit, verbose, withUnit).replaceAll("!", "");
178 }
179
180
181
182
183
184
185
186
187
188 public final AbsorbedDoseMatrix asAbsorbedDose()
189 {
190 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AbsorbedDoseUnit.BASE.getSiDimensions())),
191 UnitRuntimeException.class, "cannot cast %s to AbsorbedDoseMatrix", this.toString());
192 return new AbsorbedDoseMatrix(this.data, AbsorbedDoseUnit.SI);
193 }
194
195
196
197
198
199
200 public final AbsorbedDoseMatrix asAbsorbedDose(final AbsorbedDoseUnit displayUnit)
201 {
202 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AbsorbedDoseUnit.BASE.getSiDimensions())),
203 UnitRuntimeException.class, "cannot cast %s to AbsorbedDoseMatrix", this.toString());
204 AbsorbedDoseMatrix result = new AbsorbedDoseMatrix(this.data, displayUnit.getStandardUnit());
205 result.setDisplayUnit(displayUnit);
206 return result;
207 }
208
209
210
211
212
213 public final AccelerationMatrix asAcceleration()
214 {
215 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AccelerationUnit.BASE.getSiDimensions())),
216 UnitRuntimeException.class, "cannot cast %s to AccelerationMatrix", this.toString());
217 return new AccelerationMatrix(this.data, AccelerationUnit.SI);
218 }
219
220
221
222
223
224
225 public final AccelerationMatrix asAcceleration(final AccelerationUnit displayUnit)
226 {
227 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AccelerationUnit.BASE.getSiDimensions())),
228 UnitRuntimeException.class, "cannot cast %s to AccelerationMatrix", this.toString());
229 AccelerationMatrix result = new AccelerationMatrix(this.data, displayUnit.getStandardUnit());
230 result.setDisplayUnit(displayUnit);
231 return result;
232 }
233
234
235
236
237
238 public final AmountOfSubstanceMatrix asAmountOfSubstance()
239 {
240 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AmountOfSubstanceUnit.BASE.getSiDimensions())),
241 UnitRuntimeException.class, "cannot cast %s to AmountOfSubstanceMatrix", this.toString());
242 return new AmountOfSubstanceMatrix(this.data, AmountOfSubstanceUnit.SI);
243 }
244
245
246
247
248
249
250 public final AmountOfSubstanceMatrix asAmountOfSubstance(final AmountOfSubstanceUnit displayUnit)
251 {
252 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AmountOfSubstanceUnit.BASE.getSiDimensions())),
253 UnitRuntimeException.class, "cannot cast %s to AmountOfSubstanceMatrix", this.toString());
254 AmountOfSubstanceMatrix result = new AmountOfSubstanceMatrix(this.data, displayUnit.getStandardUnit());
255 result.setDisplayUnit(displayUnit);
256 return result;
257 }
258
259
260
261
262
263 public final AngularAccelerationMatrix asAngularAcceleration()
264 {
265 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularAccelerationUnit.BASE.getSiDimensions())),
266 UnitRuntimeException.class, "cannot cast %s to AngularAccelerationMatrix", this.toString());
267 return new AngularAccelerationMatrix(this.data, AngularAccelerationUnit.SI);
268 }
269
270
271
272
273
274
275 public final AngularAccelerationMatrix asAngularAcceleration(final AngularAccelerationUnit displayUnit)
276 {
277 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularAccelerationUnit.BASE.getSiDimensions())),
278 UnitRuntimeException.class, "cannot cast %s to AngularAccelerationMatrix", this.toString());
279 AngularAccelerationMatrix result = new AngularAccelerationMatrix(this.data, displayUnit.getStandardUnit());
280 result.setDisplayUnit(displayUnit);
281 return result;
282 }
283
284
285
286
287
288 public final AngularVelocityMatrix asAngularVelocity()
289 {
290 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularVelocityUnit.BASE.getSiDimensions())),
291 UnitRuntimeException.class, "cannot cast %s to AngularVelocityMatrix", this.toString());
292 return new AngularVelocityMatrix(this.data, AngularVelocityUnit.SI);
293 }
294
295
296
297
298
299
300 public final AngularVelocityMatrix asAngularVelocity(final AngularVelocityUnit displayUnit)
301 {
302 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularVelocityUnit.BASE.getSiDimensions())),
303 UnitRuntimeException.class, "cannot cast %s to AngularVelocityMatrix", this.toString());
304 AngularVelocityMatrix result = new AngularVelocityMatrix(this.data, displayUnit.getStandardUnit());
305 result.setDisplayUnit(displayUnit);
306 return result;
307 }
308
309
310
311
312
313 public final AreaMatrix asArea()
314 {
315 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AreaUnit.BASE.getSiDimensions())),
316 UnitRuntimeException.class, "cannot cast %s to AreaMatrix", this.toString());
317 return new AreaMatrix(this.data, AreaUnit.SI);
318 }
319
320
321
322
323
324
325 public final AreaMatrix asArea(final AreaUnit displayUnit)
326 {
327 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AreaUnit.BASE.getSiDimensions())),
328 UnitRuntimeException.class, "cannot cast %s to AreaMatrix", this.toString());
329 AreaMatrix result = new AreaMatrix(this.data, displayUnit.getStandardUnit());
330 result.setDisplayUnit(displayUnit);
331 return result;
332 }
333
334
335
336
337
338 public final CatalyticActivityMatrix asCatalyticActivity()
339 {
340 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(CatalyticActivityUnit.BASE.getSiDimensions())),
341 UnitRuntimeException.class, "cannot cast %s to CatalyticActivityMatrix", this.toString());
342 return new CatalyticActivityMatrix(this.data, CatalyticActivityUnit.SI);
343 }
344
345
346
347
348
349
350 public final CatalyticActivityMatrix asCatalyticActivity(final CatalyticActivityUnit displayUnit)
351 {
352 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(CatalyticActivityUnit.BASE.getSiDimensions())),
353 UnitRuntimeException.class, "cannot cast %s to CatalyticActivityMatrix", this.toString());
354 CatalyticActivityMatrix result = new CatalyticActivityMatrix(this.data, displayUnit.getStandardUnit());
355 result.setDisplayUnit(displayUnit);
356 return result;
357 }
358
359
360
361
362
363 public final DensityMatrix asDensity()
364 {
365 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DensityUnit.BASE.getSiDimensions())),
366 UnitRuntimeException.class, "cannot cast %s to DensityMatrix", this.toString());
367 return new DensityMatrix(this.data, DensityUnit.SI);
368 }
369
370
371
372
373
374
375 public final DensityMatrix asDensity(final DensityUnit displayUnit)
376 {
377 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DensityUnit.BASE.getSiDimensions())),
378 UnitRuntimeException.class, "cannot cast %s to DensityMatrix", this.toString());
379 DensityMatrix result = new DensityMatrix(this.data, displayUnit.getStandardUnit());
380 result.setDisplayUnit(displayUnit);
381 return result;
382 }
383
384
385
386
387
388 public final DimensionlessMatrix asDimensionless()
389 {
390 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DimensionlessUnit.BASE.getSiDimensions())),
391 UnitRuntimeException.class, "cannot cast %s to DimensionlessMatrix", this.toString());
392 return new DimensionlessMatrix(this.data, DimensionlessUnit.SI);
393 }
394
395
396
397
398
399
400 public final DimensionlessMatrix asDimensionless(final DimensionlessUnit displayUnit)
401 {
402 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DimensionlessUnit.BASE.getSiDimensions())),
403 UnitRuntimeException.class, "cannot cast %s to DimensionlessMatrix", this.toString());
404 DimensionlessMatrix result = new DimensionlessMatrix(this.data, displayUnit.getStandardUnit());
405 result.setDisplayUnit(displayUnit);
406 return result;
407 }
408
409
410
411
412
413 public final ElectricalCapacitanceMatrix asElectricalCapacitance()
414 {
415 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCapacitanceUnit.BASE.getSiDimensions())),
416 UnitRuntimeException.class, "cannot cast %s to ElectricalCapacitanceMatrix", this.toString());
417 return new ElectricalCapacitanceMatrix(this.data, ElectricalCapacitanceUnit.SI);
418 }
419
420
421
422
423
424
425 public final ElectricalCapacitanceMatrix asElectricalCapacitance(final ElectricalCapacitanceUnit displayUnit)
426 {
427 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCapacitanceUnit.BASE.getSiDimensions())),
428 UnitRuntimeException.class, "cannot cast %s to ElectricalCapacitanceMatrix", this.toString());
429 ElectricalCapacitanceMatrix result = new ElectricalCapacitanceMatrix(this.data, displayUnit.getStandardUnit());
430 result.setDisplayUnit(displayUnit);
431 return result;
432 }
433
434
435
436
437
438 public final ElectricalChargeMatrix asElectricalCharge()
439 {
440 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalChargeUnit.BASE.getSiDimensions())),
441 UnitRuntimeException.class, "cannot cast %s to ElectricalChargeMatrix", this.toString());
442 return new ElectricalChargeMatrix(this.data, ElectricalChargeUnit.SI);
443 }
444
445
446
447
448
449
450 public final ElectricalChargeMatrix asElectricalCharge(final ElectricalChargeUnit displayUnit)
451 {
452 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalChargeUnit.BASE.getSiDimensions())),
453 UnitRuntimeException.class, "cannot cast %s to ElectricalChargeMatrix", this.toString());
454 ElectricalChargeMatrix result = new ElectricalChargeMatrix(this.data, displayUnit.getStandardUnit());
455 result.setDisplayUnit(displayUnit);
456 return result;
457 }
458
459
460
461
462
463 public final ElectricalConductanceMatrix asElectricalConductance()
464 {
465 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalConductanceUnit.BASE.getSiDimensions())),
466 UnitRuntimeException.class, "cannot cast %s to ElectricalConductanceMatrix", this.toString());
467 return new ElectricalConductanceMatrix(this.data, ElectricalConductanceUnit.SI);
468 }
469
470
471
472
473
474
475 public final ElectricalConductanceMatrix asElectricalConductance(final ElectricalConductanceUnit displayUnit)
476 {
477 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalConductanceUnit.BASE.getSiDimensions())),
478 UnitRuntimeException.class, "cannot cast %s to ElectricalConductanceMatrix", this.toString());
479 ElectricalConductanceMatrix result = new ElectricalConductanceMatrix(this.data, displayUnit.getStandardUnit());
480 result.setDisplayUnit(displayUnit);
481 return result;
482 }
483
484
485
486
487
488 public final ElectricalCurrentMatrix asElectricalCurrent()
489 {
490 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCurrentUnit.BASE.getSiDimensions())),
491 UnitRuntimeException.class, "cannot cast %s to ElectricalCurrentMatrix", this.toString());
492 return new ElectricalCurrentMatrix(this.data, ElectricalCurrentUnit.SI);
493 }
494
495
496
497
498
499
500 public final ElectricalCurrentMatrix asElectricalCurrent(final ElectricalCurrentUnit displayUnit)
501 {
502 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCurrentUnit.BASE.getSiDimensions())),
503 UnitRuntimeException.class, "cannot cast %s to ElectricalCurrentMatrix", this.toString());
504 ElectricalCurrentMatrix result = new ElectricalCurrentMatrix(this.data, displayUnit.getStandardUnit());
505 result.setDisplayUnit(displayUnit);
506 return result;
507 }
508
509
510
511
512
513 public final ElectricalInductanceMatrix asElectricalInductance()
514 {
515 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalInductanceUnit.BASE.getSiDimensions())),
516 UnitRuntimeException.class, "cannot cast %s to ElectricalInductanceMatrix", this.toString());
517 return new ElectricalInductanceMatrix(this.data, ElectricalInductanceUnit.SI);
518 }
519
520
521
522
523
524
525 public final ElectricalInductanceMatrix asElectricalInductance(final ElectricalInductanceUnit displayUnit)
526 {
527 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalInductanceUnit.BASE.getSiDimensions())),
528 UnitRuntimeException.class, "cannot cast %s to ElectricalInductanceMatrix", this.toString());
529 ElectricalInductanceMatrix result = new ElectricalInductanceMatrix(this.data, displayUnit.getStandardUnit());
530 result.setDisplayUnit(displayUnit);
531 return result;
532 }
533
534
535
536
537
538 public final ElectricalPotentialMatrix asElectricalPotential()
539 {
540 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalPotentialUnit.BASE.getSiDimensions())),
541 UnitRuntimeException.class, "cannot cast %s to ElectricalPotentialMatrix", this.toString());
542 return new ElectricalPotentialMatrix(this.data, ElectricalPotentialUnit.SI);
543 }
544
545
546
547
548
549
550 public final ElectricalPotentialMatrix asElectricalPotential(final ElectricalPotentialUnit displayUnit)
551 {
552 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalPotentialUnit.BASE.getSiDimensions())),
553 UnitRuntimeException.class, "cannot cast %s to ElectricalPotentialMatrix", this.toString());
554 ElectricalPotentialMatrix result = new ElectricalPotentialMatrix(this.data, displayUnit.getStandardUnit());
555 result.setDisplayUnit(displayUnit);
556 return result;
557 }
558
559
560
561
562
563 public final ElectricalResistanceMatrix asElectricalResistance()
564 {
565 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalResistanceUnit.BASE.getSiDimensions())),
566 UnitRuntimeException.class, "cannot cast %s to ElectricalResistanceMatrix", this.toString());
567 return new ElectricalResistanceMatrix(this.data, ElectricalResistanceUnit.SI);
568 }
569
570
571
572
573
574
575 public final ElectricalResistanceMatrix asElectricalResistance(final ElectricalResistanceUnit displayUnit)
576 {
577 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalResistanceUnit.BASE.getSiDimensions())),
578 UnitRuntimeException.class, "cannot cast %s to ElectricalResistanceMatrix", this.toString());
579 ElectricalResistanceMatrix result = new ElectricalResistanceMatrix(this.data, displayUnit.getStandardUnit());
580 result.setDisplayUnit(displayUnit);
581 return result;
582 }
583
584
585
586
587
588 public final EnergyMatrix asEnergy()
589 {
590 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EnergyUnit.BASE.getSiDimensions())),
591 UnitRuntimeException.class, "cannot cast %s to EnergyMatrix", this.toString());
592 return new EnergyMatrix(this.data, EnergyUnit.SI);
593 }
594
595
596
597
598
599
600 public final EnergyMatrix asEnergy(final EnergyUnit displayUnit)
601 {
602 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EnergyUnit.BASE.getSiDimensions())),
603 UnitRuntimeException.class, "cannot cast %s to EnergyMatrix", this.toString());
604 EnergyMatrix result = new EnergyMatrix(this.data, displayUnit.getStandardUnit());
605 result.setDisplayUnit(displayUnit);
606 return result;
607 }
608
609
610
611
612
613 public final EquivalentDoseMatrix asEquivalentDose()
614 {
615 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EquivalentDoseUnit.BASE.getSiDimensions())),
616 UnitRuntimeException.class, "cannot cast %s to EquivalentDoseMatrix", this.toString());
617 return new EquivalentDoseMatrix(this.data, EquivalentDoseUnit.SI);
618 }
619
620
621
622
623
624
625 public final EquivalentDoseMatrix asEquivalentDose(final EquivalentDoseUnit displayUnit)
626 {
627 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EquivalentDoseUnit.BASE.getSiDimensions())),
628 UnitRuntimeException.class, "cannot cast %s to EquivalentDoseMatrix", this.toString());
629 EquivalentDoseMatrix result = new EquivalentDoseMatrix(this.data, displayUnit.getStandardUnit());
630 result.setDisplayUnit(displayUnit);
631 return result;
632 }
633
634
635
636
637
638 public final FlowMassMatrix asFlowMass()
639 {
640 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowMassUnit.BASE.getSiDimensions())),
641 UnitRuntimeException.class, "cannot cast %s to FlowMassMatrix", this.toString());
642 return new FlowMassMatrix(this.data, FlowMassUnit.SI);
643 }
644
645
646
647
648
649
650 public final FlowMassMatrix asFlowMass(final FlowMassUnit displayUnit)
651 {
652 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowMassUnit.BASE.getSiDimensions())),
653 UnitRuntimeException.class, "cannot cast %s to FlowMassMatrix", this.toString());
654 FlowMassMatrix result = new FlowMassMatrix(this.data, displayUnit.getStandardUnit());
655 result.setDisplayUnit(displayUnit);
656 return result;
657 }
658
659
660
661
662
663 public final FlowVolumeMatrix asFlowVolume()
664 {
665 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowVolumeUnit.BASE.getSiDimensions())),
666 UnitRuntimeException.class, "cannot cast %s to FlowVolumeMatrix", this.toString());
667 return new FlowVolumeMatrix(this.data, FlowVolumeUnit.SI);
668 }
669
670
671
672
673
674
675 public final FlowVolumeMatrix asFlowVolume(final FlowVolumeUnit displayUnit)
676 {
677 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowVolumeUnit.BASE.getSiDimensions())),
678 UnitRuntimeException.class, "cannot cast %s to FlowVolumeMatrix", this.toString());
679 FlowVolumeMatrix result = new FlowVolumeMatrix(this.data, displayUnit.getStandardUnit());
680 result.setDisplayUnit(displayUnit);
681 return result;
682 }
683
684
685
686
687
688 public final ForceMatrix asForce()
689 {
690 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ForceUnit.BASE.getSiDimensions())),
691 UnitRuntimeException.class, "cannot cast %s to ForceMatrix", this.toString());
692 return new ForceMatrix(this.data, ForceUnit.SI);
693 }
694
695
696
697
698
699
700 public final ForceMatrix asForce(final ForceUnit displayUnit)
701 {
702 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ForceUnit.BASE.getSiDimensions())),
703 UnitRuntimeException.class, "cannot cast %s to ForceMatrix", this.toString());
704 ForceMatrix result = new ForceMatrix(this.data, displayUnit.getStandardUnit());
705 result.setDisplayUnit(displayUnit);
706 return result;
707 }
708
709
710
711
712
713 public final FrequencyMatrix asFrequency()
714 {
715 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FrequencyUnit.BASE.getSiDimensions())),
716 UnitRuntimeException.class, "cannot cast %s to FrequencyMatrix", this.toString());
717 return new FrequencyMatrix(this.data, FrequencyUnit.SI);
718 }
719
720
721
722
723
724
725 public final FrequencyMatrix asFrequency(final FrequencyUnit displayUnit)
726 {
727 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FrequencyUnit.BASE.getSiDimensions())),
728 UnitRuntimeException.class, "cannot cast %s to FrequencyMatrix", this.toString());
729 FrequencyMatrix result = new FrequencyMatrix(this.data, displayUnit.getStandardUnit());
730 result.setDisplayUnit(displayUnit);
731 return result;
732 }
733
734
735
736
737
738 public final IlluminanceMatrix asIlluminance()
739 {
740 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(IlluminanceUnit.BASE.getSiDimensions())),
741 UnitRuntimeException.class, "cannot cast %s to IlluminanceMatrix", this.toString());
742 return new IlluminanceMatrix(this.data, IlluminanceUnit.SI);
743 }
744
745
746
747
748
749
750 public final IlluminanceMatrix asIlluminance(final IlluminanceUnit displayUnit)
751 {
752 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(IlluminanceUnit.BASE.getSiDimensions())),
753 UnitRuntimeException.class, "cannot cast %s to IlluminanceMatrix", this.toString());
754 IlluminanceMatrix result = new IlluminanceMatrix(this.data, displayUnit.getStandardUnit());
755 result.setDisplayUnit(displayUnit);
756 return result;
757 }
758
759
760
761
762
763 public final LinearDensityMatrix asLinearDensity()
764 {
765 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LinearDensityUnit.BASE.getSiDimensions())),
766 UnitRuntimeException.class, "cannot cast %s to LinearDensityMatrix", this.toString());
767 return new LinearDensityMatrix(this.data, LinearDensityUnit.SI);
768 }
769
770
771
772
773
774
775 public final LinearDensityMatrix asLinearDensity(final LinearDensityUnit displayUnit)
776 {
777 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LinearDensityUnit.BASE.getSiDimensions())),
778 UnitRuntimeException.class, "cannot cast %s to LinearDensityMatrix", this.toString());
779 LinearDensityMatrix result = new LinearDensityMatrix(this.data, displayUnit.getStandardUnit());
780 result.setDisplayUnit(displayUnit);
781 return result;
782 }
783
784
785
786
787
788 public final LuminousFluxMatrix asLuminousFlux()
789 {
790 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousFluxUnit.BASE.getSiDimensions())),
791 UnitRuntimeException.class, "cannot cast %s to LuminousFluxMatrix", this.toString());
792 return new LuminousFluxMatrix(this.data, LuminousFluxUnit.SI);
793 }
794
795
796
797
798
799
800 public final LuminousFluxMatrix asLuminousFlux(final LuminousFluxUnit displayUnit)
801 {
802 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousFluxUnit.BASE.getSiDimensions())),
803 UnitRuntimeException.class, "cannot cast %s to LuminousFluxMatrix", this.toString());
804 LuminousFluxMatrix result = new LuminousFluxMatrix(this.data, displayUnit.getStandardUnit());
805 result.setDisplayUnit(displayUnit);
806 return result;
807 }
808
809
810
811
812
813 public final LuminousIntensityMatrix asLuminousIntensity()
814 {
815 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousIntensityUnit.BASE.getSiDimensions())),
816 UnitRuntimeException.class, "cannot cast %s to LuminousIntensityMatrix", this.toString());
817 return new LuminousIntensityMatrix(this.data, LuminousIntensityUnit.SI);
818 }
819
820
821
822
823
824
825 public final LuminousIntensityMatrix asLuminousIntensity(final LuminousIntensityUnit displayUnit)
826 {
827 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousIntensityUnit.BASE.getSiDimensions())),
828 UnitRuntimeException.class, "cannot cast %s to LuminousIntensityMatrix", this.toString());
829 LuminousIntensityMatrix result = new LuminousIntensityMatrix(this.data, displayUnit.getStandardUnit());
830 result.setDisplayUnit(displayUnit);
831 return result;
832 }
833
834
835
836
837
838 public final MagneticFluxDensityMatrix asMagneticFluxDensity()
839 {
840 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxDensityUnit.BASE.getSiDimensions())),
841 UnitRuntimeException.class, "cannot cast %s to MagneticFluxDensityMatrix", this.toString());
842 return new MagneticFluxDensityMatrix(this.data, MagneticFluxDensityUnit.SI);
843 }
844
845
846
847
848
849
850 public final MagneticFluxDensityMatrix asMagneticFluxDensity(final MagneticFluxDensityUnit displayUnit)
851 {
852 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxDensityUnit.BASE.getSiDimensions())),
853 UnitRuntimeException.class, "cannot cast %s to MagneticFluxDensityMatrix", this.toString());
854 MagneticFluxDensityMatrix result = new MagneticFluxDensityMatrix(this.data, displayUnit.getStandardUnit());
855 result.setDisplayUnit(displayUnit);
856 return result;
857 }
858
859
860
861
862
863 public final MagneticFluxMatrix asMagneticFlux()
864 {
865 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxUnit.BASE.getSiDimensions())),
866 UnitRuntimeException.class, "cannot cast %s to MagneticFluxMatrix", this.toString());
867 return new MagneticFluxMatrix(this.data, MagneticFluxUnit.SI);
868 }
869
870
871
872
873
874
875 public final MagneticFluxMatrix asMagneticFlux(final MagneticFluxUnit displayUnit)
876 {
877 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxUnit.BASE.getSiDimensions())),
878 UnitRuntimeException.class, "cannot cast %s to MagneticFluxMatrix", this.toString());
879 MagneticFluxMatrix result = new MagneticFluxMatrix(this.data, displayUnit.getStandardUnit());
880 result.setDisplayUnit(displayUnit);
881 return result;
882 }
883
884
885
886
887
888 public final MassMatrix asMass()
889 {
890 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MassUnit.BASE.getSiDimensions())),
891 UnitRuntimeException.class, "cannot cast %s to MassMatrix", this.toString());
892 return new MassMatrix(this.data, MassUnit.SI);
893 }
894
895
896
897
898
899
900 public final MassMatrix asMass(final MassUnit displayUnit)
901 {
902 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MassUnit.BASE.getSiDimensions())),
903 UnitRuntimeException.class, "cannot cast %s to MassMatrix", this.toString());
904 MassMatrix result = new MassMatrix(this.data, displayUnit.getStandardUnit());
905 result.setDisplayUnit(displayUnit);
906 return result;
907 }
908
909
910
911
912
913 public final MomentumMatrix asMomentum()
914 {
915 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MomentumUnit.BASE.getSiDimensions())),
916 UnitRuntimeException.class, "cannot cast %s to MomentumMatrix", this.toString());
917 return new MomentumMatrix(this.data, MomentumUnit.SI);
918 }
919
920
921
922
923
924
925 public final MomentumMatrix asMomentum(final MomentumUnit displayUnit)
926 {
927 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MomentumUnit.BASE.getSiDimensions())),
928 UnitRuntimeException.class, "cannot cast %s to MomentumMatrix", this.toString());
929 MomentumMatrix result = new MomentumMatrix(this.data, displayUnit.getStandardUnit());
930 result.setDisplayUnit(displayUnit);
931 return result;
932 }
933
934
935
936
937
938 public final PowerMatrix asPower()
939 {
940 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PowerUnit.BASE.getSiDimensions())),
941 UnitRuntimeException.class, "cannot cast %s to PowerMatrix", this.toString());
942 return new PowerMatrix(this.data, PowerUnit.SI);
943 }
944
945
946
947
948
949
950 public final PowerMatrix asPower(final PowerUnit displayUnit)
951 {
952 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PowerUnit.BASE.getSiDimensions())),
953 UnitRuntimeException.class, "cannot cast %s to PowerMatrix", this.toString());
954 PowerMatrix result = new PowerMatrix(this.data, displayUnit.getStandardUnit());
955 result.setDisplayUnit(displayUnit);
956 return result;
957 }
958
959
960
961
962
963 public final PressureMatrix asPressure()
964 {
965 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PressureUnit.BASE.getSiDimensions())),
966 UnitRuntimeException.class, "cannot cast %s to PressureMatrix", this.toString());
967 return new PressureMatrix(this.data, PressureUnit.SI);
968 }
969
970
971
972
973
974
975 public final PressureMatrix asPressure(final PressureUnit displayUnit)
976 {
977 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PressureUnit.BASE.getSiDimensions())),
978 UnitRuntimeException.class, "cannot cast %s to PressureMatrix", this.toString());
979 PressureMatrix result = new PressureMatrix(this.data, displayUnit.getStandardUnit());
980 result.setDisplayUnit(displayUnit);
981 return result;
982 }
983
984
985
986
987
988 public final RadioActivityMatrix asRadioActivity()
989 {
990 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(RadioActivityUnit.BASE.getSiDimensions())),
991 UnitRuntimeException.class, "cannot cast %s to RadioActivityMatrix", this.toString());
992 return new RadioActivityMatrix(this.data, RadioActivityUnit.SI);
993 }
994
995
996
997
998
999
1000 public final RadioActivityMatrix asRadioActivity(final RadioActivityUnit displayUnit)
1001 {
1002 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(RadioActivityUnit.BASE.getSiDimensions())),
1003 UnitRuntimeException.class, "cannot cast %s to RadioActivityMatrix", this.toString());
1004 RadioActivityMatrix result = new RadioActivityMatrix(this.data, displayUnit.getStandardUnit());
1005 result.setDisplayUnit(displayUnit);
1006 return result;
1007 }
1008
1009
1010
1011
1012
1013 public final SolidAngleMatrix asSolidAngle()
1014 {
1015 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SolidAngleUnit.BASE.getSiDimensions())),
1016 UnitRuntimeException.class, "cannot cast %s to SolidAngleMatrix", this.toString());
1017 return new SolidAngleMatrix(this.data, SolidAngleUnit.SI);
1018 }
1019
1020
1021
1022
1023
1024
1025 public final SolidAngleMatrix asSolidAngle(final SolidAngleUnit displayUnit)
1026 {
1027 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SolidAngleUnit.BASE.getSiDimensions())),
1028 UnitRuntimeException.class, "cannot cast %s to SolidAngleMatrix", this.toString());
1029 SolidAngleMatrix result = new SolidAngleMatrix(this.data, displayUnit.getStandardUnit());
1030 result.setDisplayUnit(displayUnit);
1031 return result;
1032 }
1033
1034
1035
1036
1037
1038 public final SpeedMatrix asSpeed()
1039 {
1040 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SpeedUnit.BASE.getSiDimensions())),
1041 UnitRuntimeException.class, "cannot cast %s to SpeedMatrix", this.toString());
1042 return new SpeedMatrix(this.data, SpeedUnit.SI);
1043 }
1044
1045
1046
1047
1048
1049
1050 public final SpeedMatrix asSpeed(final SpeedUnit displayUnit)
1051 {
1052 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SpeedUnit.BASE.getSiDimensions())),
1053 UnitRuntimeException.class, "cannot cast %s to SpeedMatrix", this.toString());
1054 SpeedMatrix result = new SpeedMatrix(this.data, displayUnit.getStandardUnit());
1055 result.setDisplayUnit(displayUnit);
1056 return result;
1057 }
1058
1059
1060
1061
1062
1063 public final TorqueMatrix asTorque()
1064 {
1065 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TorqueUnit.BASE.getSiDimensions())),
1066 UnitRuntimeException.class, "cannot cast %s to TorqueMatrix", this.toString());
1067 return new TorqueMatrix(this.data, TorqueUnit.SI);
1068 }
1069
1070
1071
1072
1073
1074
1075 public final TorqueMatrix asTorque(final TorqueUnit displayUnit)
1076 {
1077 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TorqueUnit.BASE.getSiDimensions())),
1078 UnitRuntimeException.class, "cannot cast %s to TorqueMatrix", this.toString());
1079 TorqueMatrix result = new TorqueMatrix(this.data, displayUnit.getStandardUnit());
1080 result.setDisplayUnit(displayUnit);
1081 return result;
1082 }
1083
1084
1085
1086
1087
1088 public final VolumeMatrix asVolume()
1089 {
1090 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(VolumeUnit.BASE.getSiDimensions())),
1091 UnitRuntimeException.class, "cannot cast %s to VolumeMatrix", this.toString());
1092 return new VolumeMatrix(this.data, VolumeUnit.SI);
1093 }
1094
1095
1096
1097
1098
1099
1100 public final VolumeMatrix asVolume(final VolumeUnit displayUnit)
1101 {
1102 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(VolumeUnit.BASE.getSiDimensions())),
1103 UnitRuntimeException.class, "cannot cast %s to VolumeMatrix", this.toString());
1104 VolumeMatrix result = new VolumeMatrix(this.data, displayUnit.getStandardUnit());
1105 result.setDisplayUnit(displayUnit);
1106 return result;
1107 }
1108
1109
1110
1111
1112
1113 public final AngleMatrix asAngle()
1114 {
1115 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngleUnit.BASE.getSiDimensions())),
1116 UnitRuntimeException.class, "cannot cast %s to AngleMatrix", this.toString());
1117 return new AngleMatrix(this.data, AngleUnit.SI);
1118 }
1119
1120
1121
1122
1123
1124
1125 public final AngleMatrix asAngle(final AngleUnit displayUnit)
1126 {
1127 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngleUnit.BASE.getSiDimensions())),
1128 UnitRuntimeException.class, "cannot cast %s to AngleMatrix", this.toString());
1129 AngleMatrix result = new AngleMatrix(this.data, displayUnit.getStandardUnit());
1130 result.setDisplayUnit(displayUnit);
1131 return result;
1132 }
1133
1134
1135
1136
1137
1138 public final LengthMatrix asLength()
1139 {
1140 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LengthUnit.BASE.getSiDimensions())),
1141 UnitRuntimeException.class, "cannot cast %s to LengthMatrix", this.toString());
1142 return new LengthMatrix(this.data, LengthUnit.SI);
1143 }
1144
1145
1146
1147
1148
1149
1150 public final LengthMatrix asLength(final LengthUnit displayUnit)
1151 {
1152 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LengthUnit.BASE.getSiDimensions())),
1153 UnitRuntimeException.class, "cannot cast %s to LengthMatrix", this.toString());
1154 LengthMatrix result = new LengthMatrix(this.data, displayUnit.getStandardUnit());
1155 result.setDisplayUnit(displayUnit);
1156 return result;
1157 }
1158
1159
1160
1161
1162
1163 public final TemperatureMatrix asTemperature()
1164 {
1165 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TemperatureUnit.BASE.getSiDimensions())),
1166 UnitRuntimeException.class, "cannot cast %s to TemperatureMatrix", this.toString());
1167 return new TemperatureMatrix(this.data, TemperatureUnit.SI);
1168 }
1169
1170
1171
1172
1173
1174
1175 public final TemperatureMatrix asTemperature(final TemperatureUnit displayUnit)
1176 {
1177 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TemperatureUnit.BASE.getSiDimensions())),
1178 UnitRuntimeException.class, "cannot cast %s to TemperatureMatrix", this.toString());
1179 TemperatureMatrix result = new TemperatureMatrix(this.data, displayUnit.getStandardUnit());
1180 result.setDisplayUnit(displayUnit);
1181 return result;
1182 }
1183
1184
1185
1186
1187
1188 public final DurationMatrix asDuration()
1189 {
1190 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DurationUnit.BASE.getSiDimensions())),
1191 UnitRuntimeException.class, "cannot cast %s to DurationMatrix", this.toString());
1192 return new DurationMatrix(this.data, DurationUnit.SI);
1193 }
1194
1195
1196
1197
1198
1199
1200 public final DurationMatrix asDuration(final DurationUnit displayUnit)
1201 {
1202 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DurationUnit.BASE.getSiDimensions())),
1203 UnitRuntimeException.class, "cannot cast %s to DurationMatrix", this.toString());
1204 DurationMatrix result = new DurationMatrix(this.data, displayUnit.getStandardUnit());
1205 result.setDisplayUnit(displayUnit);
1206 return result;
1207 }
1208
1209 }