public final class MathUtils extends Object
ArithmeticUtils
,
Precision
,
MathArrays
Modifier and Type | Field and Description |
---|---|
static double |
PI_SQUARED
\(\pi^2\)
|
static double |
TWO_PI
\(2\pi\)
|
Modifier and Type | Method and Description |
---|---|
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 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 MathArithmeticException
magnitude
- Magnitude of the returned value.sign
- Sign of the returned value.magnitude
and with the
same sign as the sign
argument.MathArithmeticException
- if magnitude == Byte.MIN_VALUE
and sign >= 0
.public static short copySign(short magnitude, short sign) throws MathArithmeticException
magnitude
- Magnitude of the returned value.sign
- Sign of the returned value.magnitude
and with the
same sign as the sign
argument.MathArithmeticException
- if magnitude == Short.MIN_VALUE
and sign >= 0
.public static int copySign(int magnitude, int sign) throws MathArithmeticException
magnitude
- Magnitude of the returned value.sign
- Sign of the returned value.magnitude
and with the
same sign as the sign
argument.MathArithmeticException
- if magnitude == Integer.MIN_VALUE
and sign >= 0
.public static long copySign(long magnitude, long sign) throws MathArithmeticException
magnitude
- Magnitude of the returned value.sign
- Sign of the returned value.magnitude
and with the
same sign as the sign
argument.MathArithmeticException
- if magnitude == Long.MIN_VALUE
and sign >= 0
.public static void checkFinite(double x) throws NotFiniteNumberException
x
- Argument.NotFiniteNumberException
- if x
is not a
finite real number.public static void checkFinite(double[] val) throws NotFiniteNumberException
val
- Arguments.NotFiniteNumberException
- 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
.Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.