public final class DatumUtil
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static Datum |
asOrderOneUnits(Datum d)
This method takes the input datum and gets it as close to order one as
possible by trying all possible conversions.
|
static DatumFormatter |
bestFormatter(Datum minimum,
Datum maximum,
int nsteps)
return a DatumFormatter that efficiently formats evenly-spaced datums
from minimum to maximum with nstep intervals.
|
static DatumFormatter |
bestFormatter(DatumVector datums)
return the most efficient formatter for the datums, supporting
nominal data, TimeLocationUnits, and LocationUnits, and
other data.
|
static DatumFormatter |
bestFormatter(DatumVector datums,
DatumRange context)
return the most efficient formatter for the datums, supporting
nominal data, TimeLocationUnits, and LocationUnits, and
other data.
|
static DatumFormatter |
bestTimeFormatter(Datum minimum,
Datum maximum,
int nsteps) |
static Datum |
createValid(java.lang.String s)
create a dimensionless datum by parsing the string.
|
static java.lang.String[] |
datumStringSplit(java.lang.String s)
splits the datum into a magnitude part and a unit part.
|
static Datum |
divp(Datum amount,
Datum delta)
this is the divide that rounds down to the next integer, so divp("-25hr","24hr") is -2.
|
static double[] |
doubleValues(Datum[] datums,
Units units) |
static double[] |
doubleValues(Datum[] datums,
Units[] unitsArray) |
static int |
fractionalDigits(Datum resolution) |
static DatumFormatter |
limitLogResolutionFormatter(Datum minimum,
Datum maximum,
int nsteps) |
static DatumFormatter |
limitResolutionFormatter(Datum minimum,
Datum maximum,
int nsteps) |
static Datum |
lookupDatum(java.lang.String s)
Attempts to resolve strings commonly encountered.
|
static Datum |
modp(Datum amount,
Datum delta)
return the modulo within the delta.
|
static Datum |
numericalResolutionLimit(Datum datum)
return the numeric resolution of the Datum.
|
static Datum |
parse(java.lang.String s)
attempt to parse the string as a datum.
|
static Datum |
parseValid(java.lang.String s)
parse the string which contains a valid representation of a
a Datum.
|
static java.lang.String[] |
splitDatumString(java.lang.String s)
Split the string to separate magnitude component from units component.
|
static java.lang.String |
zeros(int count)
return "0" for 0, "0.0" for 1, "0.00" for 2, and so on.
|
public static DatumFormatter bestFormatter(DatumVector datums)
datums
- https://github.com/autoplot/dev/blob/master/demos/2021/20211203/testBestFormatter.jy
public static DatumFormatter bestFormatter(DatumVector datums, DatumRange context)
datums
- context
- externally-represented context, or null if none is used.https://github.com/autoplot/dev/blob/master/demos/2021/20211203/testBestFormatter.jy
public static int fractionalDigits(Datum resolution)
public static DatumFormatter limitLogResolutionFormatter(Datum minimum, Datum maximum, int nsteps)
public static DatumFormatter limitResolutionFormatter(Datum minimum, Datum maximum, int nsteps)
public static DatumFormatter bestFormatter(Datum minimum, Datum maximum, int nsteps)
minimum
- maximum
- nsteps
- the number of sub intervalspublic static java.lang.String zeros(int count)
count
- number of decimal places following the decimal.DatumFormatterFactory.newFormatter(java.lang.String)
public static DatumFormatter bestTimeFormatter(Datum minimum, Datum maximum, int nsteps)
public static java.lang.String[] splitDatumString(java.lang.String s)
s
- the string to break uppublic static Datum parse(java.lang.String s) throws java.text.ParseException
s
- the string representing the Datum, e.g. "5 Hz" (but not 5Hz).java.text.ParseException
- when the double can't be parsed or the units aren't recognized.public static Datum parseValid(java.lang.String s)
s
- the string representing the Datum, e.g. "5 Hz"java.lang.RuntimeException
- when the value wasn't parseable.public static java.lang.String[] datumStringSplit(java.lang.String s)
s
- the string-formatted datumpublic static Datum lookupDatum(java.lang.String s) throws java.text.ParseException
s
- java.text.ParseException
Units.parse(java.lang.String)
public static Datum createValid(java.lang.String s)
s
- public static Datum asOrderOneUnits(Datum d)
d
- A datum that needs to have its units changed to order one units.public static Datum numericalResolutionLimit(Datum datum)
datum
- a datumpublic static Datum modp(Datum amount, Datum delta)
modp('-3days','7days') | 4days |
modp('10days','7days') | 3days |
%{code t= t + modp(t-phaseStart,span) }TODO: study inconsistencies with QDataset Ops modp.
amount
- delta
- public static Datum divp(Datum amount, Datum delta)
amount
- delta
-