Class FloatTime
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<FloatTime>
,Absolute<TimeUnit,
,FloatTime, DurationUnit, FloatDuration> Value<TimeUnit,
FloatTime>
Note that when the offset of a stored absolute FloatTime becomes large, precision of a float might not be enough for the required resolution of a Time. A float has around 7 significant digits (23 bit mantissa). This means that when we need to have a float time that is precise to microseconds, the FloatTime value should not go above 2^22 = 4.0E6. This is not enough to store Epoch values that are in the order of magnitude of 2E12 ms! So feeding System.TimeInMillis() to a FloatTime with TimeUnit.BASE as its unit is not having the required precision. At best, a FloatTime can store TimeUnit.BASE or TimeUnit.EPOCH values with real calendar values with a precision of several minutes.
Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands.
All rights reserved.
BSD-style license. See DJUNITS License.
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
-
Field Summary
Fields inherited from class org.djunits.value.vfloat.scalar.base.FloatScalar
si
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal FloatTime
instantiateAbs
(float value, TimeUnit unit) Construct a new Absolute Immutable FloatScalar of the right type.final FloatDuration
instantiateRel
(float value, DurationUnit unit) Construct a new Relative Immutable FloatScalar of the right type.static final FloatTime
instantiateSI
(float value) Construct FloatTime scalar.static FloatTime
interpolate
(FloatTime zero, FloatTime one, float ratio) Interpolate between two values.static FloatTime
Return the maximum value of two absolute scalars.static FloatTime
Return the maximum value of more than two absolute scalars.static FloatTime
Return the minimum value of two absolute scalars.static FloatTime
Return the minimum value of more than two absolute scalars.static FloatTime
Returns a FloatTime based on a value and the textual representation of the unit, which can be localized.static FloatTime
Returns a FloatTime representation of a textual representation of a value with a unit.Methods inherited from class org.djunits.value.vfloat.scalar.base.FloatScalarAbs
abs, ceil, floor, minus, minus, neg, plus, rint
Methods inherited from class org.djunits.value.vfloat.scalar.base.FloatScalar
compareTo, divide, doubleValue, eq, eq0, equals, floatValue, ge, ge0, getInUnit, getInUnit, getSI, gt, gt0, hashCode, instantiate, instantiateAnonymous, instantiateSI, interpolate, interpolate, intValue, le, le0, longValue, lt, lt0, max, max, min, min, minus, minus, minus, multiply, ne, ne0, plus, plus, plus, toDisplayString, toDisplayString, toString, toString, toString, toString, toStringSIPrefixed, toStringSIPrefixed, toTextualString, toTextualString
Methods inherited from class org.djunits.value.base.Scalar
format, format, getDisplayUnit, setDisplayUnit
Methods inherited from class java.lang.Number
byteValue, shortValue
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.djunits.value.Value
isAbsolute, isRelative
-
Field Details
-
ZERO
Constant with value zero.
-
-
Constructor Details
-
FloatTime
Construct FloatTime scalar.- Parameters:
value
- float; the float valueunit
- TimeUnit; unit for the float value
-
FloatTime
Construct FloatTime scalar using a double value.- Parameters:
value
- double; the double valueunit
- TimeUnit; unit for the resulting float value
-
FloatTime
Construct FloatTime scalar.- Parameters:
value
- FloatTime; Scalar from which to construct this instance
-
-
Method Details
-
instantiateAbs
Description copied from class:FloatScalarAbs
Construct a new Absolute Immutable FloatScalar of the right type. Each extending class must implement this method.- Specified by:
instantiateAbs
in classFloatScalarAbs<TimeUnit,
FloatTime, DurationUnit, FloatDuration> - Parameters:
value
- float; the float valueunit
- AU; the absolute unit- Returns:
- A a new absolute instance of the FloatScalar of the right type
-
instantiateRel
Description copied from class:FloatScalarAbs
Construct a new Relative Immutable FloatScalar of the right type. Each extending class must implement this method.- Specified by:
instantiateRel
in classFloatScalarAbs<TimeUnit,
FloatTime, DurationUnit, FloatDuration> - Parameters:
value
- float; the float valueunit
- RU; the unit- Returns:
- R a new relative instance of the FloatScalar of the right type
-
instantiateSI
Construct FloatTime scalar.- Parameters:
value
- float; the float value in BASE units- Returns:
- FloatTime; the new scalar with the BASE value
-
interpolate
Interpolate between two values.- Parameters:
zero
- FloatTime; the low valueone
- FloatTime; the high valueratio
- float; the ratio between 0 and 1, inclusive- Returns:
- FloatTime; a Scalar at the ratio between
-
max
Return the maximum value of two absolute scalars.- Parameters:
a1
- FloatTime; the first scalara2
- FloatTime; the second scalar- Returns:
- FloatTime; the maximum value of two absolute scalars
-
max
Return the maximum value of more than two absolute scalars.- Parameters:
a1
- FloatTime; the first scalara2
- FloatTime; the second scalaran
- FloatTime...; the other scalars- Returns:
- FloatTime; the maximum value of more than two absolute scalars
-
min
Return the minimum value of two absolute scalars.- Parameters:
a1
- FloatTime; the first scalara2
- FloatTime; the second scalar- Returns:
- FloatTime; the minimum value of two absolute scalars
-
min
Return the minimum value of more than two absolute scalars.- Parameters:
a1
- FloatTime; the first scalara2
- FloatTime; the second scalaran
- FloatTime...; the other scalars- Returns:
- FloatTime; the minimum value of more than two absolute scalars
-
valueOf
Returns a FloatTime representation of a textual representation of a value with a unit. The String representation that can be parsed is the double value in the unit, followed by a localized or English abbreviation of the unit. Spaces are allowed, but not required, between the value and the unit.- Parameters:
text
- String; the textual representation to parse into a FloatTime- Returns:
- FloatTime; the Scalar representation of the value in its unit
- Throws:
IllegalArgumentException
- when the text cannot be parsedNullPointerException
- when the text argument is null
-
of
Returns a FloatTime based on a value and the textual representation of the unit, which can be localized.- Parameters:
value
- double; the value to useunitString
- String; the textual representation of the unit- Returns:
- FloatTime; the Scalar representation of the value in its unit
- Throws:
IllegalArgumentException
- when the unit cannot be parsed or is incorrectNullPointerException
- when the unitString argument is null
-