|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math.util.FastMath
public class FastMath
Faster, more accurate, portable alternative to StrictMath
.
Additionally implements the following methods not found in StrictMath:
The following methods are found in StrictMath since 1.6 onlycopySign(double, double)
getExponent(double)
nextAfter(double,double)
nextUp(double)
scalb(double, int)
copySign(float, float)
getExponent(float)
nextAfter(float,double)
nextUp(float)
scalb(float, int)
Field Summary | |
---|---|
static double |
E
Napier's constant e, base of the natural logarithm. |
static double |
PI
Archimede's constant PI, ratio of circle circumference to diameter. |
Method Summary | |
---|---|
static double |
abs(double x)
Absolute value. |
static float |
abs(float x)
Absolute value. |
static int |
abs(int x)
Absolute value. |
static long |
abs(long x)
Absolute value. |
static double |
acos(double x)
Compute the arc cosine of a number. |
static double |
acosh(double a)
Compute the inverse hyperbolic cosine of a number. |
static double |
asin(double x)
Compute the arc sine of a number. |
static double |
asinh(double a)
Compute the inverse hyperbolic sine of a number. |
static double |
atan(double x)
Arctangent function |
static double |
atan2(double y,
double x)
Two arguments arctangent function |
static double |
atanh(double a)
Compute the inverse hyperbolic tangent of a number. |
static double |
cbrt(double x)
Compute the cubic root of a number. |
static double |
ceil(double x)
Get the smallest whole number larger than x. |
static double |
copySign(double magnitude,
double sign)
Returns the first argument with the sign of the second argument. |
static float |
copySign(float magnitude,
float sign)
Returns the first argument with the sign of the second argument. |
static double |
cos(double x)
Cosine function |
static double |
cosh(double x)
Compute the hyperbolic cosine of a number. |
static double |
exp(double x)
Exponential function. |
static double |
expm1(double x)
Compute exp(x) - 1 |
static double |
floor(double x)
Get the largest whole number smaller than x. |
static int |
getExponent(double d)
Return the exponent of a double number, removing the bias. |
static int |
getExponent(float f)
Return the exponent of a float number, removing the bias. |
static 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. |
static double |
IEEEremainder(double dividend,
double divisor)
Computes the remainder as prescribed by the IEEE 754 standard. |
static double |
log(double x)
Natural logarithm. |
static double |
log10(double x)
Compute the base 10 logarithm. |
static double |
log1p(double x)
Compute log(1 + x). |
static double |
max(double a,
double b)
Compute the maximum of two values |
static float |
max(float a,
float b)
Compute the maximum of two values |
static int |
max(int a,
int b)
Compute the maximum of two values |
static long |
max(long a,
long b)
Compute the maximum of two values |
static double |
min(double a,
double b)
Compute the minimum of two values |
static float |
min(float a,
float b)
Compute the minimum of two values |
static int |
min(int a,
int b)
Compute the minimum of two values |
static long |
min(long a,
long b)
Compute the minimum of two values |
static double |
nextAfter(double d,
double direction)
Get the next machine representable number after a number, moving in the direction of another number. |
static float |
nextAfter(float f,
double direction)
Get the next machine representable number after a number, moving in the direction of another number. |
static double |
nextUp(double a)
Compute next number towards positive infinity. |
static float |
nextUp(float a)
Compute next number towards positive infinity. |
static double |
pow(double x,
double y)
Power function. |
static double |
random()
Returns a pseudo-random number between 0.0 and 1.0. |
static 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. |
static long |
round(double x)
Get the closest long to x. |
static int |
round(float x)
Get the closest int to x. |
static double |
scalb(double d,
int n)
Multiply a double number by a power of 2. |
static float |
scalb(float f,
int n)
Multiply a float number by a power of 2. |
static double |
signum(double a)
Compute the signum of a number. |
static float |
signum(float a)
Compute the signum of a number. |
static double |
sin(double x)
Sine function. |
static double |
sinh(double x)
Compute the hyperbolic sine of a number. |
static double |
sqrt(double a)
Compute the square root of a number. |
static double |
tan(double x)
Tangent function |
static double |
tanh(double x)
Compute the hyperbolic tangent of a number. |
static double |
toDegrees(double x)
Convert radians to degrees, with error of less than 0.5 ULP |
static double |
toRadians(double x)
Convert degrees to radians, with error of less than 0.5 ULP |
static double |
ulp(double x)
Compute least significant bit (Unit in Last Position) for a number. |
static float |
ulp(float x)
Compute least significant bit (Unit in Last Position) for a number. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final double PI
public static final double E
Method Detail |
---|
public static double sqrt(double a)
Note: this implementation currently delegates to Math.sqrt(double)
a
- number on which evaluation is done
public static double cosh(double x)
x
- number on which evaluation is done
public static double sinh(double x)
x
- number on which evaluation is done
public static double tanh(double x)
x
- number on which evaluation is done
public static double acosh(double a)
a
- number on which evaluation is done
public static double asinh(double a)
a
- number on which evaluation is done
public static double atanh(double a)
a
- number on which evaluation is done
public static double signum(double a)
a
- number on which evaluation is done
public static float signum(float a)
a
- number on which evaluation is done
public static double nextUp(double a)
a
- number to which neighbor should be computed
public static float nextUp(float a)
a
- number to which neighbor should be computed
public static double random()
Note: this implementation currently delegates to Math.random()
public static double exp(double x)
x
- a double
public static double expm1(double x)
x
- number to compute shifted exponential
public static double log(double x)
x
- a double
public static double log1p(double x)
x
- a number
public static double log10(double x)
x
- a number
public static double pow(double x, double y)
x
- a doubley
- a double
public static double sin(double x)
x
- a number
public static double cos(double x)
x
- a number
public static double tan(double x)
x
- a number
public static double atan(double x)
x
- a number
public static double atan2(double y, double x)
y
- ordinatex
- abscissa
-PI
and PI
public static double asin(double x)
x
- number on which evaluation is done
public static double acos(double x)
x
- number on which evaluation is done
public static double cbrt(double x)
x
- number on which evaluation is done
public static double toRadians(double x)
x
- angle in degrees
public static double toDegrees(double x)
x
- angle in radians
public static int abs(int x)
x
- number from which absolute value is requested
public static long abs(long x)
x
- number from which absolute value is requested
public static float abs(float x)
x
- number from which absolute value is requested
public static double abs(double x)
x
- number from which absolute value is requested
public static double ulp(double x)
x
- number from which ulp is requested
public static float ulp(float x)
x
- number from which ulp is requested
public static double scalb(double d, int n)
d
- number to multiplyn
- power of 2
public static float scalb(float f, int n)
f
- number to multiplyn
- power of 2
public static double 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
)
public static 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
)
public static double floor(double x)
x
- number from which floor is requested
public static double ceil(double x)
x
- number from which ceil is requested
public static double rint(double x)
x
- number from which nearest whole number is requested
public static long round(double x)
x
- number from which closest long is requested
public static int round(float x)
x
- number from which closest int is requested
public static int min(int a, int b)
a
- first valueb
- second value
public static long min(long a, long b)
a
- first valueb
- second value
public static float min(float a, float b)
a
- first valueb
- second value
public static double min(double a, double b)
a
- first valueb
- second value
public static int max(int a, int b)
a
- first valueb
- second value
public static long max(long a, long b)
a
- first valueb
- second value
public static float max(float a, float b)
a
- first valueb
- second value
public static double max(double a, double b)
a
- first valueb
- second value
public static double hypot(double x, double y)
x
and y
- sqrt(x2 +y2)
x
- a valuey
- a value
public static double 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.
Note: this implementation currently delegates to StrictMath.IEEEremainder(double, double)
dividend
- the number to be divideddivisor
- the number by which to divide
public static double copySign(double magnitude, double sign)
sign
argument is treated as positive.
magnitude
- the value to returnsign
- the sign for the returned value
sign
argumentpublic static float copySign(float magnitude, float sign)
sign
argument is treated as positive.
magnitude
- the value to returnsign
- the sign for the returned value
sign
argumentpublic static int getExponent(double d)
For double numbers of the form 2x, the unbiased exponent is exactly x.
d
- number from which exponent is requested
public static int getExponent(float f)
For float numbers of the form 2x, the unbiased exponent is exactly x.
f
- number from which exponent is requested
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |