1 package org.djunits.value.vfloat.scalar;
2
3 import java.lang.reflect.Constructor;
4 import java.lang.reflect.InvocationTargetException;
5 import java.util.HashMap;
6 import java.util.Locale;
7 import java.util.Map;
8
9 import org.djunits.unit.AbsorbedDoseUnit;
10 import org.djunits.unit.AccelerationUnit;
11 import org.djunits.unit.AmountOfSubstanceUnit;
12 import org.djunits.unit.AngleUnit;
13 import org.djunits.unit.AngularAccelerationUnit;
14 import org.djunits.unit.AngularVelocityUnit;
15 import org.djunits.unit.AreaUnit;
16 import org.djunits.unit.CatalyticActivityUnit;
17 import org.djunits.unit.DensityUnit;
18 import org.djunits.unit.DimensionlessUnit;
19 import org.djunits.unit.DurationUnit;
20 import org.djunits.unit.ElectricalCapacitanceUnit;
21 import org.djunits.unit.ElectricalChargeUnit;
22 import org.djunits.unit.ElectricalConductanceUnit;
23 import org.djunits.unit.ElectricalCurrentUnit;
24 import org.djunits.unit.ElectricalInductanceUnit;
25 import org.djunits.unit.ElectricalPotentialUnit;
26 import org.djunits.unit.ElectricalResistanceUnit;
27 import org.djunits.unit.EnergyUnit;
28 import org.djunits.unit.EquivalentDoseUnit;
29 import org.djunits.unit.FlowMassUnit;
30 import org.djunits.unit.FlowVolumeUnit;
31 import org.djunits.unit.ForceUnit;
32 import org.djunits.unit.FrequencyUnit;
33 import org.djunits.unit.IlluminanceUnit;
34 import org.djunits.unit.LengthUnit;
35 import org.djunits.unit.LinearDensityUnit;
36 import org.djunits.unit.LuminousFluxUnit;
37 import org.djunits.unit.LuminousIntensityUnit;
38 import org.djunits.unit.MagneticFluxDensityUnit;
39 import org.djunits.unit.MagneticFluxUnit;
40 import org.djunits.unit.MassUnit;
41 import org.djunits.unit.MomentumUnit;
42 import org.djunits.unit.PowerUnit;
43 import org.djunits.unit.PressureUnit;
44 import org.djunits.unit.RadioActivityUnit;
45 import org.djunits.unit.SIUnit;
46 import org.djunits.unit.SolidAngleUnit;
47 import org.djunits.unit.SpeedUnit;
48 import org.djunits.unit.TemperatureUnit;
49 import org.djunits.unit.TorqueUnit;
50 import org.djunits.unit.Unit;
51 import org.djunits.unit.VolumeUnit;
52 import org.djunits.unit.si.SIDimensions;
53 import org.djunits.unit.util.UnitRuntimeException;
54 import org.djunits.value.vfloat.scalar.base.FloatScalar;
55 import org.djunits.value.vfloat.scalar.base.FloatScalarRel;
56 import org.djutils.base.NumberParser;
57 import org.djutils.exceptions.Throw;
58
59 import jakarta.annotation.Generated;
60
61
62
63
64
65
66
67
68
69
70
71 @Generated(value = "org.djunits.generator.GenerateDJUNIT", date = "2025-09-06T15:16:28.380798Z")
72 public class FloatSIScalar extends FloatScalarRel<SIUnit, FloatSIScalar>
73 {
74
75 private static final long serialVersionUID = 20150901L;
76
77
78
79
80
81
82 public FloatSIScalar(final float value, final SIUnit unit)
83 {
84 super(value, unit);
85 }
86
87
88
89
90
91 public FloatSIScalar(final FloatSIScalar value)
92 {
93 super(value);
94 }
95
96 @Override
97 public final FloatSIScalar instantiateRel(final float value, final SIUnit unit)
98 {
99 return new FloatSIScalar(value, unit);
100 }
101
102
103
104
105
106
107
108 public static final FloatSIScalar ofSI(final float value, final SIUnit unit)
109 {
110 return new FloatSIScalar(value, unit);
111 }
112
113
114
115
116
117
118
119
120 public static FloatSIScalar interpolate(final FloatSIScalar zero, final FloatSIScalar one, final float ratio)
121 {
122 return new FloatSIScalar(zero.getInUnit() * (1 - ratio) + one.getInUnit(zero.getDisplayUnit()) * ratio,
123 zero.getDisplayUnit());
124 }
125
126
127
128
129
130
131
132 public static FloatSIScalar max(final FloatSIScalar r1, final FloatSIScalar r2)
133 {
134 return r1.gt(r2) ? r1 : r2;
135 }
136
137
138
139
140
141
142
143
144 public static FloatSIScalar max(final FloatSIScalar r1, final FloatSIScalar r2, final FloatSIScalar... rn)
145 {
146 FloatSIScalar maxr = r1.gt(r2) ? r1 : r2;
147 for (FloatSIScalar r : rn)
148 {
149 if (r.gt(maxr))
150 {
151 maxr = r;
152 }
153 }
154 return maxr;
155 }
156
157
158
159
160
161
162
163 public static FloatSIScalar min(final FloatSIScalar r1, final FloatSIScalar r2)
164 {
165 return r1.lt(r2) ? r1 : r2;
166 }
167
168
169
170
171
172
173
174
175 public static FloatSIScalar min(final FloatSIScalar r1, final FloatSIScalar r2, final FloatSIScalar... rn)
176 {
177 FloatSIScalar minr = r1.lt(r2) ? r1 : r2;
178 for (FloatSIScalar r : rn)
179 {
180 if (r.lt(minr))
181 {
182 minr = r;
183 }
184 }
185 return minr;
186 }
187
188
189
190
191
192
193
194 public static FloatSIScalar multiply(final FloatScalarRel<?, ?> left, final FloatScalarRel<?, ?> right)
195 {
196 SIUnit targetUnit = Unit.lookupOrCreateUnitWithSIDimensions(left.getDisplayUnit().getQuantity().getSiDimensions()
197 .plus(right.getDisplayUnit().getQuantity().getSiDimensions()));
198 return new FloatSIScalar(left.getSI() * right.getSI(), targetUnit);
199 }
200
201
202
203
204
205
206
207 public static FloatSIScalar divide(final FloatScalarRel<?, ?> left, final FloatScalarRel<?, ?> right)
208 {
209 SIUnit targetUnit = Unit.lookupOrCreateUnitWithSIDimensions(left.getDisplayUnit().getQuantity().getSiDimensions()
210 .minus(right.getDisplayUnit().getQuantity().getSiDimensions()));
211 return new FloatSIScalar(left.getSI() / right.getSI(), targetUnit);
212 }
213
214 @Override
215 public FloatSIScalar reciprocal()
216 {
217 return FloatSIScalar.divide(FloatDimensionless.ONE, this);
218 }
219
220
221
222
223
224
225
226
227
228
229 public static FloatSIScalar valueOf(final String text)
230 {
231 Throw.whenNull(text, "Error parsing SIScalar: unitString is null");
232 Throw.when(text.length() == 0, IllegalArgumentException.class, "Error parsing SIScalar: empty string");
233 try
234 {
235 NumberParser numberParser = new NumberParser().lenient().trailing();
236 float f = numberParser.parseFloat(text);
237 String unitString = text.substring(numberParser.getTrailingPosition()).trim();
238 SIUnit unit = Unit.lookupOrCreateUnitWithSIDimensions(SIDimensions.of(unitString));
239 Throw.when(unit == null, IllegalArgumentException.class, "Unit for FloatSIScalar not found", unitString);
240 return new FloatSIScalar(f, unit);
241 }
242 catch (Exception exception)
243 {
244 throw new IllegalArgumentException(
245 "Error parsing FloatSIScalar from " + text + " using Locale " + Locale.getDefault(Locale.Category.FORMAT),
246 exception);
247 }
248 }
249
250
251
252
253
254
255
256
257
258 public static FloatSIScalar of(final float value, final String unitString)
259 {
260 Throw.whenNull(unitString, "Error parsing FloatSIScalar: unitString is null");
261 try
262 {
263 SIUnit unit = Unit.lookupOrCreateUnitWithSIDimensions(SIDimensions.of(unitString));
264 if (unit != null)
265 {
266 return new FloatSIScalar(value, unit);
267 }
268 }
269 catch (Exception exception)
270 {
271 throw new IllegalArgumentException("Error parsing SIUnit from " + unitString, exception);
272 }
273 throw new IllegalArgumentException("Error parsing FloatSIScalar with unit " + unitString);
274 }
275
276 @Override
277 public String toString(final SIUnit displayUnit, final boolean verbose, final boolean withUnit)
278 {
279 return super.toString(displayUnit, verbose, withUnit).replaceAll("!", "");
280 }
281
282
283
284
285
286
287 private static final Map<Unit<?>, Constructor<? extends FloatScalar<?, ?>>> CACHE = new HashMap<>();
288
289
290
291
292
293
294
295
296
297 public static <U extends Unit<U>, S extends FloatScalar<U, S>> S instantiate(final float value, final U unit)
298 {
299 return instantiateAnonymous(value, unit);
300 }
301
302
303
304
305
306
307
308
309
310
311 @SuppressWarnings("unchecked")
312 public static <S extends FloatScalar<?, S>> S instantiateAnonymous(final float value, final Unit<?> unit)
313 {
314 try
315 {
316 Constructor<? extends FloatScalar<?, ?>> scalarConstructor = CACHE.get(unit);
317 if (scalarConstructor == null)
318 {
319 if (!unit.getClass().getSimpleName().endsWith("Unit"))
320 {
321 throw new ClassNotFoundException("Unit " + unit.getClass().getSimpleName()
322 + " name does noet end with 'Unit'. Cannot find corresponding scalar");
323 }
324 Class<? extends FloatScalar<?, ?>> scalarClass;
325 if (unit instanceof SIUnit)
326 {
327 scalarClass = FloatSIScalar.class;
328 }
329 else
330 {
331 scalarClass = (Class<FloatScalar<?, ?>>) Class.forName(
332 "org.djunits.value.vfloat.scalar.Float" + unit.getClass().getSimpleName().replace("Unit", ""));
333 }
334 scalarConstructor = scalarClass.getDeclaredConstructor(float.class, unit.getClass());
335 CACHE.put(unit, scalarConstructor);
336 }
337 return (S) scalarConstructor.newInstance(value, unit);
338 }
339 catch (ClassNotFoundException | NoSuchMethodException | SecurityException | InstantiationException
340 | IllegalAccessException | IllegalArgumentException | InvocationTargetException exception)
341 {
342 throw new UnitRuntimeException(
343 "Cannot instantiate FloatScalar of unit " + unit.toString() + ". Reason: " + exception.getMessage());
344 }
345 }
346
347
348
349
350
351
352
353
354
355 public final <U extends Unit<U>, S extends FloatScalarRel<U, S>> S as(final U displayUnit)
356 {
357 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(displayUnit.getQuantity().getSiDimensions())),
358 UnitRuntimeException.class, "FloatSIScalar with unit %s cannot be converted to a scalar with unit %s",
359 getDisplayUnit(), displayUnit);
360 S result = instantiate(this.si, displayUnit.getStandardUnit());
361 result.setDisplayUnit(displayUnit);
362 return result;
363 }
364
365
366
367
368
369 public final FloatAbsorbedDose asAbsorbedDose()
370 {
371 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AbsorbedDoseUnit.BASE.getSiDimensions())),
372 UnitRuntimeException.class, "cannot cast %s to FloatAbsorbedDose", this.toString());
373 return new FloatAbsorbedDose(getSI(), AbsorbedDoseUnit.SI);
374 }
375
376
377
378
379
380
381 public final FloatAbsorbedDose asAbsorbedDose(final AbsorbedDoseUnit displayUnit)
382 {
383 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AbsorbedDoseUnit.BASE.getSiDimensions())),
384 UnitRuntimeException.class, "cannot cast %s to FloatAbsorbedDose", this.toString());
385 FloatAbsorbedDose result = new FloatAbsorbedDose(getSI(), displayUnit.getStandardUnit());
386 result.setDisplayUnit(displayUnit);
387 return result;
388 }
389
390
391
392
393
394 public final FloatAcceleration asAcceleration()
395 {
396 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AccelerationUnit.BASE.getSiDimensions())),
397 UnitRuntimeException.class, "cannot cast %s to FloatAcceleration", this.toString());
398 return new FloatAcceleration(getSI(), AccelerationUnit.SI);
399 }
400
401
402
403
404
405
406 public final FloatAcceleration asAcceleration(final AccelerationUnit displayUnit)
407 {
408 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AccelerationUnit.BASE.getSiDimensions())),
409 UnitRuntimeException.class, "cannot cast %s to FloatAcceleration", this.toString());
410 FloatAcceleration result = new FloatAcceleration(getSI(), displayUnit.getStandardUnit());
411 result.setDisplayUnit(displayUnit);
412 return result;
413 }
414
415
416
417
418
419 public final FloatAmountOfSubstance asAmountOfSubstance()
420 {
421 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AmountOfSubstanceUnit.BASE.getSiDimensions())),
422 UnitRuntimeException.class, "cannot cast %s to FloatAmountOfSubstance", this.toString());
423 return new FloatAmountOfSubstance(getSI(), AmountOfSubstanceUnit.SI);
424 }
425
426
427
428
429
430
431 public final FloatAmountOfSubstance asAmountOfSubstance(final AmountOfSubstanceUnit displayUnit)
432 {
433 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AmountOfSubstanceUnit.BASE.getSiDimensions())),
434 UnitRuntimeException.class, "cannot cast %s to FloatAmountOfSubstance", this.toString());
435 FloatAmountOfSubstance result = new FloatAmountOfSubstance(getSI(), displayUnit.getStandardUnit());
436 result.setDisplayUnit(displayUnit);
437 return result;
438 }
439
440
441
442
443
444 public final FloatAngularAcceleration asAngularAcceleration()
445 {
446 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularAccelerationUnit.BASE.getSiDimensions())),
447 UnitRuntimeException.class, "cannot cast %s to FloatAngularAcceleration", this.toString());
448 return new FloatAngularAcceleration(getSI(), AngularAccelerationUnit.SI);
449 }
450
451
452
453
454
455
456 public final FloatAngularAcceleration asAngularAcceleration(final AngularAccelerationUnit displayUnit)
457 {
458 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularAccelerationUnit.BASE.getSiDimensions())),
459 UnitRuntimeException.class, "cannot cast %s to FloatAngularAcceleration", this.toString());
460 FloatAngularAcceleration result = new FloatAngularAcceleration(getSI(), displayUnit.getStandardUnit());
461 result.setDisplayUnit(displayUnit);
462 return result;
463 }
464
465
466
467
468
469 public final FloatAngularVelocity asAngularVelocity()
470 {
471 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularVelocityUnit.BASE.getSiDimensions())),
472 UnitRuntimeException.class, "cannot cast %s to FloatAngularVelocity", this.toString());
473 return new FloatAngularVelocity(getSI(), AngularVelocityUnit.SI);
474 }
475
476
477
478
479
480
481 public final FloatAngularVelocity asAngularVelocity(final AngularVelocityUnit displayUnit)
482 {
483 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularVelocityUnit.BASE.getSiDimensions())),
484 UnitRuntimeException.class, "cannot cast %s to FloatAngularVelocity", this.toString());
485 FloatAngularVelocity result = new FloatAngularVelocity(getSI(), displayUnit.getStandardUnit());
486 result.setDisplayUnit(displayUnit);
487 return result;
488 }
489
490
491
492
493
494 public final FloatArea asArea()
495 {
496 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AreaUnit.BASE.getSiDimensions())),
497 UnitRuntimeException.class, "cannot cast %s to FloatArea", this.toString());
498 return new FloatArea(getSI(), AreaUnit.SI);
499 }
500
501
502
503
504
505
506 public final FloatArea asArea(final AreaUnit displayUnit)
507 {
508 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AreaUnit.BASE.getSiDimensions())),
509 UnitRuntimeException.class, "cannot cast %s to FloatArea", this.toString());
510 FloatArea result = new FloatArea(getSI(), displayUnit.getStandardUnit());
511 result.setDisplayUnit(displayUnit);
512 return result;
513 }
514
515
516
517
518
519 public final FloatCatalyticActivity asCatalyticActivity()
520 {
521 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(CatalyticActivityUnit.BASE.getSiDimensions())),
522 UnitRuntimeException.class, "cannot cast %s to FloatCatalyticActivity", this.toString());
523 return new FloatCatalyticActivity(getSI(), CatalyticActivityUnit.SI);
524 }
525
526
527
528
529
530
531 public final FloatCatalyticActivity asCatalyticActivity(final CatalyticActivityUnit displayUnit)
532 {
533 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(CatalyticActivityUnit.BASE.getSiDimensions())),
534 UnitRuntimeException.class, "cannot cast %s to FloatCatalyticActivity", this.toString());
535 FloatCatalyticActivity result = new FloatCatalyticActivity(getSI(), displayUnit.getStandardUnit());
536 result.setDisplayUnit(displayUnit);
537 return result;
538 }
539
540
541
542
543
544 public final FloatDensity asDensity()
545 {
546 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DensityUnit.BASE.getSiDimensions())),
547 UnitRuntimeException.class, "cannot cast %s to FloatDensity", this.toString());
548 return new FloatDensity(getSI(), DensityUnit.SI);
549 }
550
551
552
553
554
555
556 public final FloatDensity asDensity(final DensityUnit displayUnit)
557 {
558 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DensityUnit.BASE.getSiDimensions())),
559 UnitRuntimeException.class, "cannot cast %s to FloatDensity", this.toString());
560 FloatDensity result = new FloatDensity(getSI(), displayUnit.getStandardUnit());
561 result.setDisplayUnit(displayUnit);
562 return result;
563 }
564
565
566
567
568
569 public final FloatDimensionless asDimensionless()
570 {
571 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DimensionlessUnit.BASE.getSiDimensions())),
572 UnitRuntimeException.class, "cannot cast %s to FloatDimensionless", this.toString());
573 return new FloatDimensionless(getSI(), DimensionlessUnit.SI);
574 }
575
576
577
578
579
580
581 public final FloatDimensionless asDimensionless(final DimensionlessUnit displayUnit)
582 {
583 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DimensionlessUnit.BASE.getSiDimensions())),
584 UnitRuntimeException.class, "cannot cast %s to FloatDimensionless", this.toString());
585 FloatDimensionless result = new FloatDimensionless(getSI(), displayUnit.getStandardUnit());
586 result.setDisplayUnit(displayUnit);
587 return result;
588 }
589
590
591
592
593
594 public final FloatElectricalCapacitance asElectricalCapacitance()
595 {
596 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCapacitanceUnit.BASE.getSiDimensions())),
597 UnitRuntimeException.class, "cannot cast %s to FloatElectricalCapacitance", this.toString());
598 return new FloatElectricalCapacitance(getSI(), ElectricalCapacitanceUnit.SI);
599 }
600
601
602
603
604
605
606 public final FloatElectricalCapacitance asElectricalCapacitance(final ElectricalCapacitanceUnit displayUnit)
607 {
608 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCapacitanceUnit.BASE.getSiDimensions())),
609 UnitRuntimeException.class, "cannot cast %s to FloatElectricalCapacitance", this.toString());
610 FloatElectricalCapacitance result = new FloatElectricalCapacitance(getSI(), displayUnit.getStandardUnit());
611 result.setDisplayUnit(displayUnit);
612 return result;
613 }
614
615
616
617
618
619 public final FloatElectricalCharge asElectricalCharge()
620 {
621 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalChargeUnit.BASE.getSiDimensions())),
622 UnitRuntimeException.class, "cannot cast %s to FloatElectricalCharge", this.toString());
623 return new FloatElectricalCharge(getSI(), ElectricalChargeUnit.SI);
624 }
625
626
627
628
629
630
631 public final FloatElectricalCharge asElectricalCharge(final ElectricalChargeUnit displayUnit)
632 {
633 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalChargeUnit.BASE.getSiDimensions())),
634 UnitRuntimeException.class, "cannot cast %s to FloatElectricalCharge", this.toString());
635 FloatElectricalCharge result = new FloatElectricalCharge(getSI(), displayUnit.getStandardUnit());
636 result.setDisplayUnit(displayUnit);
637 return result;
638 }
639
640
641
642
643
644 public final FloatElectricalConductance asElectricalConductance()
645 {
646 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalConductanceUnit.BASE.getSiDimensions())),
647 UnitRuntimeException.class, "cannot cast %s to FloatElectricalConductance", this.toString());
648 return new FloatElectricalConductance(getSI(), ElectricalConductanceUnit.SI);
649 }
650
651
652
653
654
655
656 public final FloatElectricalConductance asElectricalConductance(final ElectricalConductanceUnit displayUnit)
657 {
658 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalConductanceUnit.BASE.getSiDimensions())),
659 UnitRuntimeException.class, "cannot cast %s to FloatElectricalConductance", this.toString());
660 FloatElectricalConductance result = new FloatElectricalConductance(getSI(), displayUnit.getStandardUnit());
661 result.setDisplayUnit(displayUnit);
662 return result;
663 }
664
665
666
667
668
669 public final FloatElectricalCurrent asElectricalCurrent()
670 {
671 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCurrentUnit.BASE.getSiDimensions())),
672 UnitRuntimeException.class, "cannot cast %s to FloatElectricalCurrent", this.toString());
673 return new FloatElectricalCurrent(getSI(), ElectricalCurrentUnit.SI);
674 }
675
676
677
678
679
680
681 public final FloatElectricalCurrent asElectricalCurrent(final ElectricalCurrentUnit displayUnit)
682 {
683 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCurrentUnit.BASE.getSiDimensions())),
684 UnitRuntimeException.class, "cannot cast %s to FloatElectricalCurrent", this.toString());
685 FloatElectricalCurrent result = new FloatElectricalCurrent(getSI(), displayUnit.getStandardUnit());
686 result.setDisplayUnit(displayUnit);
687 return result;
688 }
689
690
691
692
693
694 public final FloatElectricalInductance asElectricalInductance()
695 {
696 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalInductanceUnit.BASE.getSiDimensions())),
697 UnitRuntimeException.class, "cannot cast %s to FloatElectricalInductance", this.toString());
698 return new FloatElectricalInductance(getSI(), ElectricalInductanceUnit.SI);
699 }
700
701
702
703
704
705
706 public final FloatElectricalInductance asElectricalInductance(final ElectricalInductanceUnit displayUnit)
707 {
708 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalInductanceUnit.BASE.getSiDimensions())),
709 UnitRuntimeException.class, "cannot cast %s to FloatElectricalInductance", this.toString());
710 FloatElectricalInductance result = new FloatElectricalInductance(getSI(), displayUnit.getStandardUnit());
711 result.setDisplayUnit(displayUnit);
712 return result;
713 }
714
715
716
717
718
719 public final FloatElectricalPotential asElectricalPotential()
720 {
721 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalPotentialUnit.BASE.getSiDimensions())),
722 UnitRuntimeException.class, "cannot cast %s to FloatElectricalPotential", this.toString());
723 return new FloatElectricalPotential(getSI(), ElectricalPotentialUnit.SI);
724 }
725
726
727
728
729
730
731 public final FloatElectricalPotential asElectricalPotential(final ElectricalPotentialUnit displayUnit)
732 {
733 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalPotentialUnit.BASE.getSiDimensions())),
734 UnitRuntimeException.class, "cannot cast %s to FloatElectricalPotential", this.toString());
735 FloatElectricalPotential result = new FloatElectricalPotential(getSI(), displayUnit.getStandardUnit());
736 result.setDisplayUnit(displayUnit);
737 return result;
738 }
739
740
741
742
743
744 public final FloatElectricalResistance asElectricalResistance()
745 {
746 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalResistanceUnit.BASE.getSiDimensions())),
747 UnitRuntimeException.class, "cannot cast %s to FloatElectricalResistance", this.toString());
748 return new FloatElectricalResistance(getSI(), ElectricalResistanceUnit.SI);
749 }
750
751
752
753
754
755
756 public final FloatElectricalResistance asElectricalResistance(final ElectricalResistanceUnit displayUnit)
757 {
758 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalResistanceUnit.BASE.getSiDimensions())),
759 UnitRuntimeException.class, "cannot cast %s to FloatElectricalResistance", this.toString());
760 FloatElectricalResistance result = new FloatElectricalResistance(getSI(), displayUnit.getStandardUnit());
761 result.setDisplayUnit(displayUnit);
762 return result;
763 }
764
765
766
767
768
769 public final FloatEnergy asEnergy()
770 {
771 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EnergyUnit.BASE.getSiDimensions())),
772 UnitRuntimeException.class, "cannot cast %s to FloatEnergy", this.toString());
773 return new FloatEnergy(getSI(), EnergyUnit.SI);
774 }
775
776
777
778
779
780
781 public final FloatEnergy asEnergy(final EnergyUnit displayUnit)
782 {
783 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EnergyUnit.BASE.getSiDimensions())),
784 UnitRuntimeException.class, "cannot cast %s to FloatEnergy", this.toString());
785 FloatEnergy result = new FloatEnergy(getSI(), displayUnit.getStandardUnit());
786 result.setDisplayUnit(displayUnit);
787 return result;
788 }
789
790
791
792
793
794 public final FloatEquivalentDose asEquivalentDose()
795 {
796 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EquivalentDoseUnit.BASE.getSiDimensions())),
797 UnitRuntimeException.class, "cannot cast %s to FloatEquivalentDose", this.toString());
798 return new FloatEquivalentDose(getSI(), EquivalentDoseUnit.SI);
799 }
800
801
802
803
804
805
806 public final FloatEquivalentDose asEquivalentDose(final EquivalentDoseUnit displayUnit)
807 {
808 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EquivalentDoseUnit.BASE.getSiDimensions())),
809 UnitRuntimeException.class, "cannot cast %s to FloatEquivalentDose", this.toString());
810 FloatEquivalentDose result = new FloatEquivalentDose(getSI(), displayUnit.getStandardUnit());
811 result.setDisplayUnit(displayUnit);
812 return result;
813 }
814
815
816
817
818
819 public final FloatFlowMass asFlowMass()
820 {
821 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowMassUnit.BASE.getSiDimensions())),
822 UnitRuntimeException.class, "cannot cast %s to FloatFlowMass", this.toString());
823 return new FloatFlowMass(getSI(), FlowMassUnit.SI);
824 }
825
826
827
828
829
830
831 public final FloatFlowMass asFlowMass(final FlowMassUnit displayUnit)
832 {
833 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowMassUnit.BASE.getSiDimensions())),
834 UnitRuntimeException.class, "cannot cast %s to FloatFlowMass", this.toString());
835 FloatFlowMass result = new FloatFlowMass(getSI(), displayUnit.getStandardUnit());
836 result.setDisplayUnit(displayUnit);
837 return result;
838 }
839
840
841
842
843
844 public final FloatFlowVolume asFlowVolume()
845 {
846 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowVolumeUnit.BASE.getSiDimensions())),
847 UnitRuntimeException.class, "cannot cast %s to FloatFlowVolume", this.toString());
848 return new FloatFlowVolume(getSI(), FlowVolumeUnit.SI);
849 }
850
851
852
853
854
855
856 public final FloatFlowVolume asFlowVolume(final FlowVolumeUnit displayUnit)
857 {
858 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowVolumeUnit.BASE.getSiDimensions())),
859 UnitRuntimeException.class, "cannot cast %s to FloatFlowVolume", this.toString());
860 FloatFlowVolume result = new FloatFlowVolume(getSI(), displayUnit.getStandardUnit());
861 result.setDisplayUnit(displayUnit);
862 return result;
863 }
864
865
866
867
868
869 public final FloatForce asForce()
870 {
871 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ForceUnit.BASE.getSiDimensions())),
872 UnitRuntimeException.class, "cannot cast %s to FloatForce", this.toString());
873 return new FloatForce(getSI(), ForceUnit.SI);
874 }
875
876
877
878
879
880
881 public final FloatForce asForce(final ForceUnit displayUnit)
882 {
883 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ForceUnit.BASE.getSiDimensions())),
884 UnitRuntimeException.class, "cannot cast %s to FloatForce", this.toString());
885 FloatForce result = new FloatForce(getSI(), displayUnit.getStandardUnit());
886 result.setDisplayUnit(displayUnit);
887 return result;
888 }
889
890
891
892
893
894 public final FloatFrequency asFrequency()
895 {
896 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FrequencyUnit.BASE.getSiDimensions())),
897 UnitRuntimeException.class, "cannot cast %s to FloatFrequency", this.toString());
898 return new FloatFrequency(getSI(), FrequencyUnit.SI);
899 }
900
901
902
903
904
905
906 public final FloatFrequency asFrequency(final FrequencyUnit displayUnit)
907 {
908 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FrequencyUnit.BASE.getSiDimensions())),
909 UnitRuntimeException.class, "cannot cast %s to FloatFrequency", this.toString());
910 FloatFrequency result = new FloatFrequency(getSI(), displayUnit.getStandardUnit());
911 result.setDisplayUnit(displayUnit);
912 return result;
913 }
914
915
916
917
918
919 public final FloatIlluminance asIlluminance()
920 {
921 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(IlluminanceUnit.BASE.getSiDimensions())),
922 UnitRuntimeException.class, "cannot cast %s to FloatIlluminance", this.toString());
923 return new FloatIlluminance(getSI(), IlluminanceUnit.SI);
924 }
925
926
927
928
929
930
931 public final FloatIlluminance asIlluminance(final IlluminanceUnit displayUnit)
932 {
933 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(IlluminanceUnit.BASE.getSiDimensions())),
934 UnitRuntimeException.class, "cannot cast %s to FloatIlluminance", this.toString());
935 FloatIlluminance result = new FloatIlluminance(getSI(), displayUnit.getStandardUnit());
936 result.setDisplayUnit(displayUnit);
937 return result;
938 }
939
940
941
942
943
944 public final FloatLinearDensity asLinearDensity()
945 {
946 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LinearDensityUnit.BASE.getSiDimensions())),
947 UnitRuntimeException.class, "cannot cast %s to FloatLinearDensity", this.toString());
948 return new FloatLinearDensity(getSI(), LinearDensityUnit.SI);
949 }
950
951
952
953
954
955
956 public final FloatLinearDensity asLinearDensity(final LinearDensityUnit displayUnit)
957 {
958 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LinearDensityUnit.BASE.getSiDimensions())),
959 UnitRuntimeException.class, "cannot cast %s to FloatLinearDensity", this.toString());
960 FloatLinearDensity result = new FloatLinearDensity(getSI(), displayUnit.getStandardUnit());
961 result.setDisplayUnit(displayUnit);
962 return result;
963 }
964
965
966
967
968
969 public final FloatLuminousFlux asLuminousFlux()
970 {
971 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousFluxUnit.BASE.getSiDimensions())),
972 UnitRuntimeException.class, "cannot cast %s to FloatLuminousFlux", this.toString());
973 return new FloatLuminousFlux(getSI(), LuminousFluxUnit.SI);
974 }
975
976
977
978
979
980
981 public final FloatLuminousFlux asLuminousFlux(final LuminousFluxUnit displayUnit)
982 {
983 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousFluxUnit.BASE.getSiDimensions())),
984 UnitRuntimeException.class, "cannot cast %s to FloatLuminousFlux", this.toString());
985 FloatLuminousFlux result = new FloatLuminousFlux(getSI(), displayUnit.getStandardUnit());
986 result.setDisplayUnit(displayUnit);
987 return result;
988 }
989
990
991
992
993
994 public final FloatLuminousIntensity asLuminousIntensity()
995 {
996 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousIntensityUnit.BASE.getSiDimensions())),
997 UnitRuntimeException.class, "cannot cast %s to FloatLuminousIntensity", this.toString());
998 return new FloatLuminousIntensity(getSI(), LuminousIntensityUnit.SI);
999 }
1000
1001
1002
1003
1004
1005
1006 public final FloatLuminousIntensity asLuminousIntensity(final LuminousIntensityUnit displayUnit)
1007 {
1008 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousIntensityUnit.BASE.getSiDimensions())),
1009 UnitRuntimeException.class, "cannot cast %s to FloatLuminousIntensity", this.toString());
1010 FloatLuminousIntensity result = new FloatLuminousIntensity(getSI(), displayUnit.getStandardUnit());
1011 result.setDisplayUnit(displayUnit);
1012 return result;
1013 }
1014
1015
1016
1017
1018
1019 public final FloatMagneticFluxDensity asMagneticFluxDensity()
1020 {
1021 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxDensityUnit.BASE.getSiDimensions())),
1022 UnitRuntimeException.class, "cannot cast %s to FloatMagneticFluxDensity", this.toString());
1023 return new FloatMagneticFluxDensity(getSI(), MagneticFluxDensityUnit.SI);
1024 }
1025
1026
1027
1028
1029
1030
1031 public final FloatMagneticFluxDensity asMagneticFluxDensity(final MagneticFluxDensityUnit displayUnit)
1032 {
1033 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxDensityUnit.BASE.getSiDimensions())),
1034 UnitRuntimeException.class, "cannot cast %s to FloatMagneticFluxDensity", this.toString());
1035 FloatMagneticFluxDensity result = new FloatMagneticFluxDensity(getSI(), displayUnit.getStandardUnit());
1036 result.setDisplayUnit(displayUnit);
1037 return result;
1038 }
1039
1040
1041
1042
1043
1044 public final FloatMagneticFlux asMagneticFlux()
1045 {
1046 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxUnit.BASE.getSiDimensions())),
1047 UnitRuntimeException.class, "cannot cast %s to FloatMagneticFlux", this.toString());
1048 return new FloatMagneticFlux(getSI(), MagneticFluxUnit.SI);
1049 }
1050
1051
1052
1053
1054
1055
1056 public final FloatMagneticFlux asMagneticFlux(final MagneticFluxUnit displayUnit)
1057 {
1058 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxUnit.BASE.getSiDimensions())),
1059 UnitRuntimeException.class, "cannot cast %s to FloatMagneticFlux", this.toString());
1060 FloatMagneticFlux result = new FloatMagneticFlux(getSI(), displayUnit.getStandardUnit());
1061 result.setDisplayUnit(displayUnit);
1062 return result;
1063 }
1064
1065
1066
1067
1068
1069 public final FloatMass asMass()
1070 {
1071 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MassUnit.BASE.getSiDimensions())),
1072 UnitRuntimeException.class, "cannot cast %s to FloatMass", this.toString());
1073 return new FloatMass(getSI(), MassUnit.SI);
1074 }
1075
1076
1077
1078
1079
1080
1081 public final FloatMass asMass(final MassUnit displayUnit)
1082 {
1083 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MassUnit.BASE.getSiDimensions())),
1084 UnitRuntimeException.class, "cannot cast %s to FloatMass", this.toString());
1085 FloatMass result = new FloatMass(getSI(), displayUnit.getStandardUnit());
1086 result.setDisplayUnit(displayUnit);
1087 return result;
1088 }
1089
1090
1091
1092
1093
1094 public final FloatMomentum asMomentum()
1095 {
1096 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MomentumUnit.BASE.getSiDimensions())),
1097 UnitRuntimeException.class, "cannot cast %s to FloatMomentum", this.toString());
1098 return new FloatMomentum(getSI(), MomentumUnit.SI);
1099 }
1100
1101
1102
1103
1104
1105
1106 public final FloatMomentum asMomentum(final MomentumUnit displayUnit)
1107 {
1108 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MomentumUnit.BASE.getSiDimensions())),
1109 UnitRuntimeException.class, "cannot cast %s to FloatMomentum", this.toString());
1110 FloatMomentum result = new FloatMomentum(getSI(), displayUnit.getStandardUnit());
1111 result.setDisplayUnit(displayUnit);
1112 return result;
1113 }
1114
1115
1116
1117
1118
1119 public final FloatPower asPower()
1120 {
1121 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PowerUnit.BASE.getSiDimensions())),
1122 UnitRuntimeException.class, "cannot cast %s to FloatPower", this.toString());
1123 return new FloatPower(getSI(), PowerUnit.SI);
1124 }
1125
1126
1127
1128
1129
1130
1131 public final FloatPower asPower(final PowerUnit displayUnit)
1132 {
1133 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PowerUnit.BASE.getSiDimensions())),
1134 UnitRuntimeException.class, "cannot cast %s to FloatPower", this.toString());
1135 FloatPower result = new FloatPower(getSI(), displayUnit.getStandardUnit());
1136 result.setDisplayUnit(displayUnit);
1137 return result;
1138 }
1139
1140
1141
1142
1143
1144 public final FloatPressure asPressure()
1145 {
1146 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PressureUnit.BASE.getSiDimensions())),
1147 UnitRuntimeException.class, "cannot cast %s to FloatPressure", this.toString());
1148 return new FloatPressure(getSI(), PressureUnit.SI);
1149 }
1150
1151
1152
1153
1154
1155
1156 public final FloatPressure asPressure(final PressureUnit displayUnit)
1157 {
1158 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PressureUnit.BASE.getSiDimensions())),
1159 UnitRuntimeException.class, "cannot cast %s to FloatPressure", this.toString());
1160 FloatPressure result = new FloatPressure(getSI(), displayUnit.getStandardUnit());
1161 result.setDisplayUnit(displayUnit);
1162 return result;
1163 }
1164
1165
1166
1167
1168
1169 public final FloatRadioActivity asRadioActivity()
1170 {
1171 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(RadioActivityUnit.BASE.getSiDimensions())),
1172 UnitRuntimeException.class, "cannot cast %s to FloatRadioActivity", this.toString());
1173 return new FloatRadioActivity(getSI(), RadioActivityUnit.SI);
1174 }
1175
1176
1177
1178
1179
1180
1181 public final FloatRadioActivity asRadioActivity(final RadioActivityUnit displayUnit)
1182 {
1183 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(RadioActivityUnit.BASE.getSiDimensions())),
1184 UnitRuntimeException.class, "cannot cast %s to FloatRadioActivity", this.toString());
1185 FloatRadioActivity result = new FloatRadioActivity(getSI(), displayUnit.getStandardUnit());
1186 result.setDisplayUnit(displayUnit);
1187 return result;
1188 }
1189
1190
1191
1192
1193
1194 public final FloatSolidAngle asSolidAngle()
1195 {
1196 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SolidAngleUnit.BASE.getSiDimensions())),
1197 UnitRuntimeException.class, "cannot cast %s to FloatSolidAngle", this.toString());
1198 return new FloatSolidAngle(getSI(), SolidAngleUnit.SI);
1199 }
1200
1201
1202
1203
1204
1205
1206 public final FloatSolidAngle asSolidAngle(final SolidAngleUnit displayUnit)
1207 {
1208 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SolidAngleUnit.BASE.getSiDimensions())),
1209 UnitRuntimeException.class, "cannot cast %s to FloatSolidAngle", this.toString());
1210 FloatSolidAngle result = new FloatSolidAngle(getSI(), displayUnit.getStandardUnit());
1211 result.setDisplayUnit(displayUnit);
1212 return result;
1213 }
1214
1215
1216
1217
1218
1219 public final FloatSpeed asSpeed()
1220 {
1221 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SpeedUnit.BASE.getSiDimensions())),
1222 UnitRuntimeException.class, "cannot cast %s to FloatSpeed", this.toString());
1223 return new FloatSpeed(getSI(), SpeedUnit.SI);
1224 }
1225
1226
1227
1228
1229
1230
1231 public final FloatSpeed asSpeed(final SpeedUnit displayUnit)
1232 {
1233 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SpeedUnit.BASE.getSiDimensions())),
1234 UnitRuntimeException.class, "cannot cast %s to FloatSpeed", this.toString());
1235 FloatSpeed result = new FloatSpeed(getSI(), displayUnit.getStandardUnit());
1236 result.setDisplayUnit(displayUnit);
1237 return result;
1238 }
1239
1240
1241
1242
1243
1244 public final FloatTorque asTorque()
1245 {
1246 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TorqueUnit.BASE.getSiDimensions())),
1247 UnitRuntimeException.class, "cannot cast %s to FloatTorque", this.toString());
1248 return new FloatTorque(getSI(), TorqueUnit.SI);
1249 }
1250
1251
1252
1253
1254
1255
1256 public final FloatTorque asTorque(final TorqueUnit displayUnit)
1257 {
1258 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TorqueUnit.BASE.getSiDimensions())),
1259 UnitRuntimeException.class, "cannot cast %s to FloatTorque", this.toString());
1260 FloatTorque result = new FloatTorque(getSI(), displayUnit.getStandardUnit());
1261 result.setDisplayUnit(displayUnit);
1262 return result;
1263 }
1264
1265
1266
1267
1268
1269 public final FloatVolume asVolume()
1270 {
1271 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(VolumeUnit.BASE.getSiDimensions())),
1272 UnitRuntimeException.class, "cannot cast %s to FloatVolume", this.toString());
1273 return new FloatVolume(getSI(), VolumeUnit.SI);
1274 }
1275
1276
1277
1278
1279
1280
1281 public final FloatVolume asVolume(final VolumeUnit displayUnit)
1282 {
1283 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(VolumeUnit.BASE.getSiDimensions())),
1284 UnitRuntimeException.class, "cannot cast %s to FloatVolume", this.toString());
1285 FloatVolume result = new FloatVolume(getSI(), displayUnit.getStandardUnit());
1286 result.setDisplayUnit(displayUnit);
1287 return result;
1288 }
1289
1290
1291
1292
1293
1294 public final FloatAngle asAngle()
1295 {
1296 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngleUnit.BASE.getSiDimensions())),
1297 UnitRuntimeException.class, "cannot cast %s to FloatAngle", this.toString());
1298 return new FloatAngle(getSI(), AngleUnit.SI);
1299 }
1300
1301
1302
1303
1304
1305
1306 public final FloatAngle asAngle(final AngleUnit displayUnit)
1307 {
1308 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngleUnit.BASE.getSiDimensions())),
1309 UnitRuntimeException.class, "cannot cast %s to FloatAngle", this.toString());
1310 FloatAngle result = new FloatAngle(getSI(), displayUnit.getStandardUnit());
1311 result.setDisplayUnit(displayUnit);
1312 return result;
1313 }
1314
1315
1316
1317
1318
1319 public final FloatLength asLength()
1320 {
1321 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LengthUnit.BASE.getSiDimensions())),
1322 UnitRuntimeException.class, "cannot cast %s to FloatLength", this.toString());
1323 return new FloatLength(getSI(), LengthUnit.SI);
1324 }
1325
1326
1327
1328
1329
1330
1331 public final FloatLength asLength(final LengthUnit displayUnit)
1332 {
1333 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LengthUnit.BASE.getSiDimensions())),
1334 UnitRuntimeException.class, "cannot cast %s to FloatLength", this.toString());
1335 FloatLength result = new FloatLength(getSI(), displayUnit.getStandardUnit());
1336 result.setDisplayUnit(displayUnit);
1337 return result;
1338 }
1339
1340
1341
1342
1343
1344 public final FloatTemperature asTemperature()
1345 {
1346 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TemperatureUnit.BASE.getSiDimensions())),
1347 UnitRuntimeException.class, "cannot cast %s to FloatTemperature", this.toString());
1348 return new FloatTemperature(getSI(), TemperatureUnit.SI);
1349 }
1350
1351
1352
1353
1354
1355
1356 public final FloatTemperature asTemperature(final TemperatureUnit displayUnit)
1357 {
1358 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TemperatureUnit.BASE.getSiDimensions())),
1359 UnitRuntimeException.class, "cannot cast %s to FloatTemperature", this.toString());
1360 FloatTemperature result = new FloatTemperature(getSI(), displayUnit.getStandardUnit());
1361 result.setDisplayUnit(displayUnit);
1362 return result;
1363 }
1364
1365
1366
1367
1368
1369 public final FloatDuration asDuration()
1370 {
1371 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DurationUnit.BASE.getSiDimensions())),
1372 UnitRuntimeException.class, "cannot cast %s to FloatDuration", this.toString());
1373 return new FloatDuration(getSI(), DurationUnit.SI);
1374 }
1375
1376
1377
1378
1379
1380
1381 public final FloatDuration asDuration(final DurationUnit displayUnit)
1382 {
1383 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DurationUnit.BASE.getSiDimensions())),
1384 UnitRuntimeException.class, "cannot cast %s to FloatDuration", this.toString());
1385 FloatDuration result = new FloatDuration(getSI(), displayUnit.getStandardUnit());
1386 result.setDisplayUnit(displayUnit);
1387 return result;
1388 }
1389
1390 }