Package gaiasky.util.gaia.time
Class NanoSecs
java.lang.Object
gaiasky.util.gaia.time.ConcreteDuration
gaiasky.util.gaia.time.NanoSecs
- All Implemented Interfaces:
Duration,Serializable
A finite number of nanoseconds.
There are two implementations provided of the conversions methods one as object interface, where an object of the current class has to be instantiated. The oder implementation is provided as static class methods.
Performance tests of both implementations have come up with a performance improvement of 20% of the static methods compared with the object methods.
- See Also:
-
Field Summary
Fields inherited from class gaiasky.util.gaia.time.ConcreteDuration
valueFields inherited from interface gaiasky.util.gaia.time.Duration
DAYS_PER_JULIAN_YEAR, HOURS_PER_DAY, HOURS_PER_JULIAN_YEAR, HOURS_PER_REV, MINS_PER_DAY, MINS_PER_HOUR, MINS_PER_JULIAN_YEAR, MINS_PER_REV, NS_PER_DAY, NS_PER_DAY_L, NS_PER_HOUR, NS_PER_HOUR_L, NS_PER_JULIAN_YEAR, NS_PER_JULIAN_YEAR_L, NS_PER_MIN, NS_PER_MIN_L, NS_PER_REV, NS_PER_REV_L, NS_PER_SEC, REVS_PER_DAY, REVS_PER_JULIAN_YEAR, SECS_PER_DAY, SECS_PER_HOUR, SECS_PER_JULIAN_YEAR, SECS_PER_MIN, SECS_PER_REV -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAdd a duration to this onedoubleasDays()static doubleasDays(long nanoSecs) doubleasHours()static doubleasHours(long nanoSecs) doublestatic doubleasJulianYears(long nanoSecs) doubleasMins()static doubleasMins(long nanoSecs) longdoubleasRevs()static doubleasRevs(long nanoSecs) doubleasSecs()static doubleasSecs(long nanoSecs) clone()mult(double s) Multiply this duration by a given factornegate()Set this duration to a new given oneSubtract a duration from this oneMethods inherited from class gaiasky.util.gaia.time.ConcreteDuration
getScale, isLongerThan, setScale
-
Constructor Details
-
NanoSecs
public NanoSecs()Default constructor -
NanoSecs
public NanoSecs(long ns) Construct object from number of nano seconds.- Parameters:
ns- [ns]
-
-
Method Details
-
asSecs
public static double asSecs(long nanoSecs) - Parameters:
nanoSecs-- Returns:
- nanoSecs expressed in s
-
asMins
public static double asMins(long nanoSecs) - Parameters:
nanoSecs-- Returns:
- nanoSecs expressed in mins
-
asHours
public static double asHours(long nanoSecs) - Parameters:
nanoSecs-- Returns:
- nanoSecs expressed in hours
-
asRevs
public static double asRevs(long nanoSecs) - Parameters:
nanoSecs-- Returns:
- nanoSecs expressed in revs
-
asDays
public static double asDays(long nanoSecs) - Parameters:
nanoSecs- the time in nanoseconds to convert.- Returns:
- nanoSecs expressed in days.
-
asJulianYears
public static double asJulianYears(long nanoSecs) - Parameters:
nanoSecs- the time in nanoseconds to convert.- Returns:
- nanoSecs expressed in years.
-
set
Description copied from interface:DurationSet this duration to a new given one -
asNanoSecs
public long asNanoSecs()- Specified by:
asNanoSecsin interfaceDuration- Returns:
- duration expressed in ns
- See Also:
-
asSecs
public double asSecs() -
asMins
public double asMins() -
asHours
public double asHours() -
asRevs
public double asRevs() -
asDays
public double asDays() -
asJulianYears
public double asJulianYears()- Specified by:
asJulianYearsin interfaceDuration- Returns:
- duration expressed in Julian years
- See Also:
-
negate
- Specified by:
negatein interfaceDuration- Overrides:
negatein classConcreteDuration- Returns:
- negated amount of time
- See Also:
-
add
Description copied from interface:DurationAdd a duration to this one -
sub
Description copied from interface:DurationSubtract a duration from this one -
mult
Description copied from interface:DurationMultiply this duration by a given factor- Specified by:
multin interfaceDuration- Overrides:
multin classConcreteDuration- Parameters:
s- scale factor- Returns:
- updated object
- See Also:
-
clone
-