Class FloatTime
- java.lang.Object
-
- java.lang.Number
-
- org.djunits.value.AbstractScalar<U,S>
-
- org.djunits.value.vfloat.scalar.base.AbstractFloatScalar<AU,A>
-
- org.djunits.value.vfloat.scalar.base.AbstractFloatScalarAbs<TimeUnit,FloatTime,DurationUnit,FloatDuration>
-
- org.djunits.value.vfloat.scalar.FloatTime
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<FloatTime>
,Absolute
,Scalar<TimeUnit,FloatTime>
,Scalar.Abs<TimeUnit,FloatTime,DurationUnit,FloatDuration>
,ValueFunctions<TimeUnit,FloatTime>
,Value<TimeUnit,FloatTime>
,FloatScalarInterface<TimeUnit,FloatTime>
,FloatScalarInterface.Abs<TimeUnit,FloatTime,DurationUnit,FloatDuration>
@Generated(value="org.djunits.generator.GenerateDJUNIT", date="2023-04-30T13:59:27.633664900Z") public class FloatTime extends AbstractFloatScalarAbs<TimeUnit,FloatTime,DurationUnit,FloatDuration>
Easy access methods for the FloatTime FloatScalar.Copyright (c) 2013-2023 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands.
All rights reserved.
BSD-style license. See DJUNITS License.Note that when the offset of a stored absolute Time 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 Time 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.
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.djunits.value.vfloat.scalar.base.FloatScalarInterface
FloatScalarInterface.Abs<AU extends AbsoluteLinearUnit<AU,RU>,A extends FloatScalarInterface.Abs<AU,A,RU,R>,RU extends Unit<RU>,R extends FloatScalarInterface.RelWithAbs<AU,A,RU,R>>, FloatScalarInterface.Rel<U extends Unit<U>,R extends FloatScalarInterface.Rel<U,R>>, FloatScalarInterface.RelWithAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends FloatScalarInterface.Abs<AU,A,RU,R>,RU extends Unit<RU>,R extends FloatScalarInterface.RelWithAbs<AU,A,RU,R>>
-
Nested classes/interfaces inherited from interface org.djunits.value.base.Scalar
Scalar.Abs<AU extends AbsoluteLinearUnit<AU,RU>,A extends Scalar.Abs<AU,A,RU,R>,RU extends Unit<RU>,R extends Scalar.RelWithAbs<AU,A,RU,R>>, Scalar.Rel<U extends Unit<U>,R extends Scalar.Rel<U,R>>, Scalar.RelWithAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends Scalar.Abs<AU,A,RU,R>,RU extends Unit<RU>,R extends Scalar.RelWithAbs<AU,A,RU,R>>
-
-
Field Summary
Fields Modifier and Type Field Description static FloatTime
ZERO
Constant with value zero.-
Fields inherited from class org.djunits.value.vfloat.scalar.base.AbstractFloatScalar
si
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description FloatTime
instantiateAbs(float value, TimeUnit unit)
Construct a new Absolute Immutable FloatScalar of the right type.FloatDuration
instantiateRel(float value, DurationUnit unit)
Construct a new Relative Immutable FloatScalar of the right type.static FloatTime
instantiateSI(float value)
Construct FloatTime scalar.static FloatTime
interpolate(FloatTime zero, FloatTime one, float ratio)
Interpolate between two values.static FloatTime
max(FloatTime a1, FloatTime a2)
Return the maximum value of two absolute scalars.static FloatTime
max(FloatTime a1, FloatTime a2, FloatTime... an)
Return the maximum value of more than two absolute scalars.static FloatTime
min(FloatTime a1, FloatTime a2)
Return the minimum value of two absolute scalars.static FloatTime
min(FloatTime a1, FloatTime a2, FloatTime... an)
Return the minimum value of more than two absolute scalars.static FloatTime
of(float value, String unitString)
Returns a FloatTime based on a value and the textual representation of the unit, which can be localized.static FloatTime
valueOf(String text)
Returns a FloatTime representation of a textual representation of a value with a unit.-
Methods inherited from class org.djunits.value.vfloat.scalar.base.AbstractFloatScalarAbs
abs, ceil, floor, minus, minus, neg, plus, rint
-
Methods inherited from class org.djunits.value.vfloat.scalar.base.AbstractFloatScalar
compareTo, doubleValue, eq, eq0, equals, floatValue, ge, ge0, getInUnit, getInUnit, getSI, gt, gt0, hashCode, intValue, le, le0, longValue, lt, lt0, ne, ne0, toDisplayString, toDisplayString, toString, toString, toString, toString, toStringSIPrefixed, toStringSIPrefixed, toTextualString, toTextualString
-
Methods inherited from class org.djunits.value.AbstractScalar
getDisplayUnit, isAbsolute, isRelative, 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 java.lang.Comparable
compareTo
-
Methods inherited from interface org.djunits.value.vfloat.scalar.base.FloatScalarInterface
getInUnit, getInUnit, getSI
-
Methods inherited from interface org.djunits.value.base.Scalar
eq, eq0, format, format, ge, ge0, gt, gt0, le, le0, lt, lt0, ne, ne0, toDisplayString, toDisplayString, toTextualString, toTextualString
-
Methods inherited from interface org.djunits.value.Value
getDisplayUnit, isAbsolute, isRelative, setDisplayUnit, toString, toString, toString, toString
-
-
-
-
Field Detail
-
ZERO
public static final FloatTime ZERO
Constant with value zero.
-
-
Constructor Detail
-
FloatTime
public FloatTime(float value, TimeUnit unit)
Construct FloatTime scalar.- Parameters:
value
- float; the float valueunit
- TimeUnit; unit for the float value
-
FloatTime
public FloatTime(double value, TimeUnit unit)
Construct FloatTime scalar using a double value.- Parameters:
value
- double; the double valueunit
- TimeUnit; unit for the resulting float value
-
FloatTime
public FloatTime(FloatTime value)
Construct FloatTime scalar.- Parameters:
value
- FloatTime; Scalar from which to construct this instance
-
-
Method Detail
-
instantiateAbs
public final FloatTime instantiateAbs(float value, TimeUnit unit)
Construct a new Absolute Immutable FloatScalar of the right type. Each extending class must implement this method.- Parameters:
value
- float; the float valueunit
- AU; the absolute unit- Returns:
- A a new absolute instance of the FloatScalar of the right type
-
instantiateRel
public final FloatDuration instantiateRel(float value, DurationUnit unit)
Construct a new Relative Immutable FloatScalar of the right type. Each extending class must implement this method.- Parameters:
value
- float; the float valueunit
- RU; the unit- Returns:
- R a new relative instance of the FloatScalar of the right type
-
instantiateSI
public static final FloatTime instantiateSI(float value)
Construct FloatTime scalar.- Parameters:
value
- float; the float value in BASE units- Returns:
- FloatTime; the new scalar with the BASE value
-
interpolate
public static FloatTime interpolate(FloatTime zero, FloatTime one, float ratio)
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
public static FloatTime max(FloatTime a1, FloatTime a2)
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
public static FloatTime max(FloatTime a1, FloatTime a2, FloatTime... an)
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
public static FloatTime min(FloatTime a1, FloatTime a2)
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
public static FloatTime min(FloatTime a1, FloatTime a2, FloatTime... an)
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
public static FloatTime valueOf(String text)
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
public static FloatTime of(float value, String unitString)
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
-
-