public interface MathLibrary
Modifier and Type | Method and Description |
---|---|
double |
abs(double x)
Absolute value.
|
float |
abs(float x)
Absolute value.
|
int |
abs(int x)
Absolute value.
|
long |
abs(long x)
Absolute value.
|
double |
acos(double x)
Compute the arc cosine of a number.
|
double |
acosh(double a)
Compute the inverse hyperbolic cosine of a number.
|
double |
asin(double x)
Compute the arc sine of a number.
|
double |
asinh(double a)
Compute the inverse hyperbolic sine of a number.
|
double |
atan(double x)
Arctangent function
|
double |
atan2(double y,
double x)
Two arguments arctangent function
|
double |
atanh(double a)
Compute the inverse hyperbolic tangent of a number.
|
double |
cbrt(double x)
Compute the cubic root of a number.
|
double |
ceil(double x)
Get the smallest whole number larger than x.
|
double |
copySign(double magnitude,
double sign)
Returns the first argument with the sign of the second argument.
|
float |
copySign(float magnitude,
float sign)
Returns the first argument with the sign of the second argument.
|
double |
cos(double x)
Cosine function.
|
double |
cosh(double x)
Compute the hyperbolic cosine of a number.
|
double |
exp(double x)
Exponential function.
|
double |
expm1(double x)
Compute exp(x) - 1
|
double |
floor(double x)
Get the largest whole number smaller than x.
|
int |
getExponent(double d)
Return the exponent of a double number, removing the bias.
|
int |
getExponent(float f)
Return the exponent of a float number, removing the bias.
|
double |
hypot(double x,
double y)
Returns the hypotenuse of a triangle with sides
x and y -
sqrt(x2 +y2)avoiding intermediate overflow or underflow. |
double |
IEEEremainder(double dividend,
double divisor)
Computes the remainder as prescribed by the IEEE 754 standard.
|
double |
log(double x)
Natural logarithm.
|
double |
log10(double x)
Compute the base 10 logarithm.
|
double |
log1p(double x)
Computes log(1 + x).
|
double |
max(double a,
double b)
Compute the maximum of two values
|
float |
max(float a,
float b)
Compute the maximum of two values
|
int |
max(int a,
int b)
Compute the maximum of two values
|
long |
max(long a,
long b)
Compute the maximum of two values
|
double |
min(double a,
double b)
Compute the minimum of two values
|
float |
min(float a,
float b)
Compute the minimum of two values
|
int |
min(int a,
int b)
Compute the minimum of two values
|
long |
min(long a,
long b)
Compute the minimum of two values
|
double |
nextAfter(double d,
double direction)
Get the next machine representable number after a number, moving in the direction of another
number.
|
float |
nextAfter(float f,
double direction)
Get the next machine representable number after a number, moving in the direction of another
number.
|
double |
nextUp(double a)
Compute next number towards positive infinity.
|
float |
nextUp(float a)
Compute next number towards positive infinity.
|
double |
pow(double x,
double y)
Power function.
|
double |
pow(double d,
int e)
Raise a double to an int power.
|
double |
random()
Returns a pseudo-random number between 0.0 and 1.0.
|
double |
rint(double x)
Get the whole number that is the nearest to x, or the even one if x is exactly half way
between two integers.
|
long |
round(double x)
Get the closest long to x.
|
int |
round(float x)
Get the closest int to x.
|
double |
scalb(double d,
int n)
Multiply a double number by a power of 2.
|
float |
scalb(float f,
int n)
Multiply a float number by a power of 2.
|
double |
signum(double a)
Compute the signum of a number.
|
float |
signum(float a)
Compute the signum of a number.
|
double |
sin(double x)
Sine function.
|
double |
sinh(double x)
Compute the hyperbolic sine of a number.
|
double |
sqrt(double a)
Compute the square root of a number.
|
double |
tan(double x)
Tangent function.
|
double |
tanh(double x)
Compute the hyperbolic tangent of a number.
|
double |
toDegrees(double x)
Convert radians to degrees, with error of less than 0.5 ULP
|
double |
toRadians(double x)
Convert degrees to radians, with error of less than 0.5 ULP
|
double |
ulp(double x)
Compute least significant bit (Unit in Last Position) for a number.
|
float |
ulp(float x)
Compute least significant bit (Unit in Last Position) for a number.
|
double sqrt(double a)
a
- number on which evaluation is donedouble cosh(double x)
x
- number on which evaluation is donedouble sinh(double x)
x
- number on which evaluation is donedouble tanh(double x)
x
- number on which evaluation is donedouble acosh(double a)
a
- number on which evaluation is donedouble asinh(double a)
a
- number on which evaluation is donedouble atanh(double a)
a
- number on which evaluation is donedouble signum(double a)
a
- number on which evaluation is donefloat signum(float a)
a
- number on which evaluation is donedouble nextUp(double a)
a
- number to which neighbor should be computedfloat nextUp(float a)
a
- number to which neighbor should be computeddouble random()
double exp(double x)
x
- a doubledouble expm1(double x)
x
- number to compute shifted exponentialdouble log(double x)
x
- a doubledouble log1p(double x)
x
- Number.log(1 + x)
.double log10(double x)
x
- a numberdouble pow(double x, double y)
x
- a doubley
- a doubledouble pow(double d, int e)
d
- Number to raise.e
- Exponent.double sin(double x)
x
- Argument.double cos(double x)
x
- Argument.double tan(double x)
x
- Argument.double atan(double x)
x
- a numberdouble atan2(double y, double x)
y
- ordinatex
- abscissa-PI
and PI
double asin(double x)
x
- number on which evaluation is donedouble acos(double x)
x
- number on which evaluation is donedouble cbrt(double x)
x
- number on which evaluation is donedouble toRadians(double x)
x
- angle in degreesdouble toDegrees(double x)
x
- angle in radiansint abs(int x)
x
- number from which absolute value is requestedlong abs(long x)
x
- number from which absolute value is requestedfloat abs(float x)
x
- number from which absolute value is requesteddouble abs(double x)
x
- number from which absolute value is requesteddouble ulp(double x)
x
- number from which ulp is requestedfloat ulp(float x)
x
- number from which ulp is requesteddouble scalb(double d, int n)
d
- number to multiplyn
- power of 2float scalb(float f, int n)
f
- number to multiplyn
- power of 2double nextAfter(double d, double direction)
The ordering is as follows (increasing):
If arguments compare equal, then the second argument is returned.
If direction
is greater than d
, the smallest machine representable number
strictly greater than d
is returned; if less, then the largest representable number
strictly less than d
is returned.
If d
is infinite and direction does not bring it back to finite numbers, it is
returned unchanged.
d
- base numberdirection
- (the only important thing is whether direction
is greater or smaller
than d
)float nextAfter(float f, double direction)
The ordering is as follows (increasing):
If arguments compare equal, then the second argument is returned.
If direction
is greater than f
, the smallest machine representable number
strictly greater than f
is returned; if less, then the largest representable number
strictly less than f
is returned.
If f
is infinite and direction does not bring it back to finite numbers, it is
returned unchanged.
f
- base numberdirection
- (the only important thing is whether direction
is greater or smaller
than f
)double floor(double x)
x
- number from which floor is requesteddouble ceil(double x)
x
- number from which ceil is requesteddouble rint(double x)
x
- number from which nearest whole number is requestedlong round(double x)
x
- number from which closest long is requestedint round(float x)
x
- number from which closest int is requestedint min(int a, int b)
a
- first valueb
- second valuelong min(long a, long b)
a
- first valueb
- second valuefloat min(float a, float b)
a
- first valueb
- second valuedouble min(double a, double b)
a
- first valueb
- second valueint max(int a, int b)
a
- first valueb
- second valuelong max(long a, long b)
a
- first valueb
- second valuefloat max(float a, float b)
a
- first valueb
- second valuedouble max(double a, double b)
a
- first valueb
- second valuedouble hypot(double x, double y)
x
and y
-
sqrt(x2 +y2)x
- a valuey
- a valuedouble IEEEremainder(double dividend, double divisor)
x - y*n
where n
is the mathematical integer closest
to the exact mathematical value of the quotient x/y
. If two mathematical integers are
equally close to x/y
then n
is the integer that is even.
dividend
- the number to be divideddivisor
- the number by which to divideArithmeticException
- thrown if input cannot allow to compute remainderdouble copySign(double magnitude, double sign)
sign
argument
is treated as positive.magnitude
- the value to returnsign
- the sign for the returned valuesign
argumentfloat copySign(float magnitude, float sign)
sign
argument
is treated as positive.magnitude
- the value to returnsign
- the sign for the returned valuesign
argumentint getExponent(double d)
For double numbers of the form 2x, the unbiased exponent is exactly x.
d
- number from which exponent is requestedint getExponent(float f)
For float numbers of the form 2x, the unbiased exponent is exactly x.
f
- number from which exponent is requestedCopyright © 2019 CNES. All Rights Reserved.