public final class MathUtils extends Object
ArithmeticUtils,
Precision,
MathArrays| Modifier and Type | Field | Description |
|---|---|---|
static double |
PI_SQUARED |
\(\pi^2\)
|
static double |
TWO_PI |
\(2\pi\)
|
| Modifier and Type | Method | Description |
|---|---|---|
static void |
checkDimension(int dimension,
int otherDimension) |
Checks that the given dimensions match.
|
static void |
checkFinite(double x) |
Check that the argument is a real number.
|
static void |
checkFinite(double[] val) |
Check that all the elements are real numbers.
|
static void |
checkNotNull(Object o) |
Checks that an object is not null.
|
static void |
checkNotNull(Object o,
Localizable pattern,
Object... args) |
Checks that an object is not null.
|
static void |
checkRangeInclusive(double value,
double lo,
double hi) |
Checks that the given value is strictly within the range [lo, hi].
|
static void |
checkRangeInclusive(long value,
long lo,
long hi) |
Checks that the given value is strictly within the range [lo, hi].
|
static byte |
copySign(byte magnitude,
byte sign) |
Returns the first argument with the sign of the second argument.
|
static int |
copySign(int magnitude,
int sign) |
Returns the first argument with the sign of the second argument.
|
static long |
copySign(long magnitude,
long sign) |
Returns the first argument with the sign of the second argument.
|
static short |
copySign(short magnitude,
short sign) |
Returns the first argument with the sign of the second argument.
|
static boolean |
equals(double x,
double y) |
Returns
true if the values are equal according to semantics of
Double.equals(Object). |
static int |
hash(double value) |
Returns an integer hash code representing the given double value.
|
static int |
hash(double[] value) |
Returns an integer hash code representing the given double array.
|
static <T extends RealFieldElement<T>> |
max(T e1,
T e2) |
Find the maximum of two field elements.
|
static <T extends RealFieldElement<T>> |
min(T e1,
T e2) |
Find the minimum of two field elements.
|
static double |
normalizeAngle(double a,
double center) |
Normalize an angle in a 2π wide interval around a center value.
|
static double |
reduce(double a,
double period,
double offset) |
Reduce
|a - offset| to the primary interval
[0, |period|). |
public static final double TWO_PI
public static final double PI_SQUARED
public static int hash(double value)
value - the value to be hashedpublic static boolean equals(double x,
double y)
true if the values are equal according to semantics of
Double.equals(Object).x - Valuey - Valuenew Double(x).equals(new Double(y))public static int hash(double[] value)
value - the value to be hashed (may be null)public static double normalizeAngle(double a,
double center)
This method has three main uses:
a = MathUtils.normalizeAngle(a, FastMath.PI);a = MathUtils.normalizeAngle(a, 0.0);angle = MathUtils.normalizeAngle(end, start) - start;Note that due to numerical accuracy and since π cannot be represented exactly, the result interval is closed, it cannot be half-closed as would be more satisfactory in a purely mathematical view.
a - angle to normalizecenter - center of the desired 2π interval for the resultpublic static <T extends RealFieldElement<T>> T max(T e1, T e2)
T - the type of the field elementse1 - first elemente2 - second elementpublic static <T extends RealFieldElement<T>> T min(T e1, T e2)
T - the type of the field elementse1 - first elemente2 - second elementpublic static double reduce(double a,
double period,
double offset)
Reduce |a - offset| to the primary interval
[0, |period|).
Specifically, the value returned is
a - |period| * floor((a - offset) / |period|) - offset.
If any of the parameters are NaN or infinite, the result is
NaN.
a - Value to reduce.period - Period.offset - Value that will be mapped to 0.[0 |period|),
that corresponds to a.public static byte copySign(byte magnitude,
byte sign)
throws MathRuntimeException
magnitude - Magnitude of the returned value.sign - Sign of the returned value.magnitude and with the
same sign as the sign argument.MathRuntimeException - if magnitude == Byte.MIN_VALUE
and sign >= 0.public static short copySign(short magnitude,
short sign)
throws MathRuntimeException
magnitude - Magnitude of the returned value.sign - Sign of the returned value.magnitude and with the
same sign as the sign argument.MathRuntimeException - if magnitude == Short.MIN_VALUE
and sign >= 0.public static int copySign(int magnitude,
int sign)
throws MathRuntimeException
magnitude - Magnitude of the returned value.sign - Sign of the returned value.magnitude and with the
same sign as the sign argument.MathRuntimeException - if magnitude == Integer.MIN_VALUE
and sign >= 0.public static long copySign(long magnitude,
long sign)
throws MathRuntimeException
magnitude - Magnitude of the returned value.sign - Sign of the returned value.magnitude and with the
same sign as the sign argument.MathRuntimeException - if magnitude == Long.MIN_VALUE
and sign >= 0.public static void checkFinite(double x)
throws MathIllegalArgumentException
x - Argument.MathIllegalArgumentException - if x is not a
finite real number.public static void checkFinite(double[] val)
throws MathIllegalArgumentException
val - Arguments.MathIllegalArgumentException - if any values of the array is not a
finite real number.public static void checkNotNull(Object o, Localizable pattern, Object... args) throws NullArgumentException
o - Object to be checked.pattern - Message pattern.args - Arguments to replace the placeholders in pattern.NullArgumentException - if o is null.public static void checkNotNull(Object o) throws NullArgumentException
o - Object to be checked.NullArgumentException - if o is null.public static void checkRangeInclusive(long value,
long lo,
long hi)
value - value to be checked.lo - the lower bound (inclusive).hi - the upper bound (inclusive).MathIllegalArgumentException - if value is strictly outside [lo, hi].public static void checkRangeInclusive(double value,
double lo,
double hi)
value - value to be checked.lo - the lower bound (inclusive).hi - the upper bound (inclusive).MathIllegalArgumentException - if value is strictly outside [lo, hi].public static void checkDimension(int dimension,
int otherDimension)
dimension - the first dimension.otherDimension - the second dimension.MathIllegalArgumentException - if length != otherLength.Copyright © 2016–2018 Hipparchus.org. All rights reserved.