Modifier and Type | Method and Description |
---|---|
static int |
addAndCheck(int x,
int y)
Add two integers, checking for overflow.
|
static long |
addAndCheck(long a,
long b)
Add two long integers, checking for overflow.
|
static long |
binomialCoefficient(int n,
int k)
Returns an exact representation of the
Binomial
Coefficient, "
n choose k ", the number of
k -element subsets that can be selected from an
n -element set. |
static double |
binomialCoefficientDouble(int n,
int k)
Returns a
double representation of the
Binomial
Coefficient, "n choose k ", the number of
k -element subsets that can be selected from an
n -element set. |
static double |
binomialCoefficientLog(int n,
int k)
Returns the natural
log of the
Binomial
Coefficient, "n choose k ", the number of
k -element subsets that can be selected from an
n -element set. |
static double |
cosh(double x)
Returns the
hyperbolic cosine of x.
|
static boolean |
equals(double[] x,
double[] y)
Returns true iff both arguments are null or have same dimensions and all
their elements are
equals . |
static boolean |
equals(double x,
double y)
Returns true iff both arguments are NaN or neither is NaN and they are
equal.
|
static long |
factorial(int n)
Returns n!.
|
static double |
factorialDouble(int n)
Returns n!.
|
static double |
factorialLog(int n)
Returns the natural logarithm of n!.
|
static int |
gcd(int u,
int v)
Gets the greatest common divisor of the absolute value of two numbers,
using the "binary gcd" method which avoids division and modulo
operations.
|
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 value.
|
static byte |
indicator(byte x)
For a byte value x, this method returns (byte)(+1) if x >= 0 and
(byte)(-1) if x < 0.
|
static double |
indicator(double x)
For a double precision value x, this method returns +1.0 if x >= 0 and
-1.0 if x < 0.
|
static float |
indicator(float x)
For a float value x, this method returns +1.0F if x >= 0 and -1.0F if
x < 0.
|
static int |
indicator(int x)
For an int value x, this method returns +1 if x >= 0 and -1 if x <
0.
|
static long |
indicator(long x)
For a long value x, this method returns +1L if x >= 0 and -1L if x
< 0.
|
static short |
indicator(short x)
For a short value x, this method returns (short)(+1) if x >= 0 and
(short)(-1) if x < 0.
|
static int |
lcm(int a,
int b)
Returns the least common multiple between two integer values.
|
static double |
log(double base,
double x)
|
static int |
mulAndCheck(int x,
int y)
Multiply two integers, checking for overflow.
|
static long |
mulAndCheck(long a,
long b)
Multiply two long integers, checking for overflow.
|
static double |
normalizeAngle(double a,
double center)
Normalize an angle in a 2&pi wide interval around a center value.
|
static byte |
sign(byte x)
Returns the sign
for byte value
x . |
static double |
sign(double x)
Returns the sign
for double precision
x . |
static float |
sign(float x)
Returns the sign
for float value
x . |
static int |
sign(int x)
Returns the sign
for int value
x . |
static long |
sign(long x)
Returns the sign
for long value
x . |
static short |
sign(short x)
Returns the sign
for short value
x . |
static double |
sinh(double x)
Returns the
hyperbolic sine of x.
|
static int |
subAndCheck(int x,
int y)
Subtract two integers, checking for overflow.
|
static long |
subAndCheck(long a,
long b)
Subtract two long integers, checking for overflow.
|
public static int addAndCheck(int x, int y)
x
- an addendy
- an addendx+y
MathException
- if the result
can not be represented as an intpublic static long addAndCheck(long a, long b)
a
- an addendb
- an addenda+b
MathException
- if the result
can not be represented as an longpublic static long binomialCoefficient(int n, int k)
n choose k
", the number of
k
-element subsets that can be selected from an
n
-element set.
Preconditions:
0 <= k <= n
(otherwise
IllegalArgumentException
is thrown)long
. The
largest value of n
for which all coefficients are
< Long.MAX_VALUE
is 66. If the computed value exceeds
Long.MAX_VALUE
an ArithMeticException
is
thrown.n
- the size of the setk
- the size of the subsets to be countedn choose k
IllegalArgumentException
- if preconditions are not met.MathException
- if the result is
too large to be represented by a long integer.public static double binomialCoefficientDouble(int n, int k)
double
representation of the
Binomial
Coefficient, "n choose k
", the number of
k
-element subsets that can be selected from an
n
-element set.
Preconditions:
0 <= k <= n
(otherwise
IllegalArgumentException
is thrown)double
. The
largest value of n
for which all coefficients are <
Double.MAX_VALUE is 1029. If the computed value exceeds Double.MAX_VALUE,
Double.POSITIVE_INFINITY is returnedn
- the size of the setk
- the size of the subsets to be countedn choose k
IllegalArgumentException
- if preconditions are not met.public static double binomialCoefficientLog(int n, int k)
log
of the
Binomial
Coefficient, "n choose k
", the number of
k
-element subsets that can be selected from an
n
-element set.
Preconditions:
0 <= k <= n
(otherwise
IllegalArgumentException
is thrown)n
- the size of the setk
- the size of the subsets to be countedn choose k
IllegalArgumentException
- if preconditions are not met.public static double cosh(double x)
x
- double value for which to find the hyperbolic cosinepublic static boolean equals(double x, double y)
x
- first valuey
- second valuepublic static boolean equals(double[] x, double[] y)
equals
.x
- first arrayy
- second arraypublic static long factorial(int n)
n
Factorial, the
product of the numbers 1,...,n
.
Preconditions:
n >= 0
(otherwise
IllegalArgumentException
is thrown)long
. The
largest value of n
for which n! <
Long.MAX_VALUE
is 20. If the computed value exceeds
Long.MAX_VALUE
an ArithMeticException
is
thrown.n
- argumentn!
MathException
- if the result is
too large to be represented by a long integer.IllegalArgumentException
- if n < 0public static double factorialDouble(int n)
n
Factorial, the
product of the numbers 1,...,n
as a double
.
Preconditions:
n >= 0
(otherwise
IllegalArgumentException
is thrown)double
. The
largest value of n
for which n! <
Double.MAX_VALUE
is 170. If the computed value exceeds
Double.MAX_VALUE, Double.POSITIVE_INFINITY is returnedn
- argumentn!
IllegalArgumentException
- if n < 0public static double factorialLog(int n)
n >= 0
(otherwise
IllegalArgumentException
is thrown)n
- argumentn!
IllegalArgumentException
- if preconditions are not met.public static int gcd(int u, int v)
u
- a non-zero numberv
- a non-zero numberpublic static int hash(double value)
value
- the value to be hashedpublic static int hash(double[] value)
value
- the value to be hashed (may be null)public static byte indicator(byte x)
x
- the value, a bytepublic static double indicator(double x)
NaN
if x
is
NaN
.x
- the value, a doublepublic static float indicator(float x)
NaN
if x
is NaN
.x
- the value, a floatpublic static int indicator(int x)
x
- the value, an intpublic static long indicator(long x)
x
- the value, a longpublic static short indicator(short x)
x
- the value, a shortpublic static int lcm(int a, int b)
a
- the first integer value.b
- the second integer value.MathException
- if the lcm is
too large to store as an intpublic static double log(double base, double x)
b
of x
.
Returns NaN
if either argument is negative. If
base
is 0 and x
is positive, 0 is returned. If
base
is positive and x
is 0,
Double.NEGATIVE_INFINITY
is returned. If both arguments are
0, the result is NaN
.base
- the base of the logarithm, must be greater than 0x
- argument, must be greater than 0public static int mulAndCheck(int x, int y)
x
- a factory
- a factorx*y
MathException
- if the result
can not be represented as an intpublic static long mulAndCheck(long a, long b)
a
- first valueb
- second valuea * b
MathException
- if the result
can not be represented as an longpublic static double normalizeAngle(double a, double center)
a = MathUtils.normalizeAngle(a, Math.PI);
a = MathUtils.normalizeAngle(a, 0.0);
angle = MathUtils.normalizeAngle(end, start) - start;
a
- angle to normalizecenter
- center of the desired 2π interval for the resultpublic static byte sign(byte x)
x
.
For a byte value x, this method returns (byte)(+1) if x > 0, (byte)(0)
if x = 0, and (byte)(-1) if x < 0.x
- the value, a bytepublic static double sign(double x)
x
.
For a double value x
, this method returns +1.0
if x > 0
, 0.0
if x = 0.0
, and
-1.0
if x < 0
. Returns NaN
if
x
is NaN
.x
- the value, a doublepublic static float sign(float x)
x
.
For a float value x, this method returns +1.0F if x > 0, 0.0F if x =
0.0F, and -1.0F if x < 0. Returns NaN
if x
is NaN
.x
- the value, a floatpublic static int sign(int x)
x
.
For an int value x, this method returns +1 if x > 0, 0 if x = 0, and
-1 if x < 0.x
- the value, an intpublic static long sign(long x)
x
.
For a long value x, this method returns +1L if x > 0, 0L if x = 0, and
-1L if x < 0.x
- the value, a longpublic static short sign(short x)
x
.
For a short value x, this method returns (short)(+1) if x > 0,
(short)(0) if x = 0, and (short)(-1) if x < 0.x
- the value, a shortpublic static double sinh(double x)
x
- double value for which to find the hyperbolic sinepublic static int subAndCheck(int x, int y)
x
- the minuendy
- the subtrahendx-y
MathException
- if the result
can not be represented as an intpublic static long subAndCheck(long a, long b)
a
- first valueb
- second valuea-b
MathException
- if the result
can not be represented as an longCopyright © 2017. All rights reserved.