java.lang
public final class Math extends Object
Note that angles are specified in radians. Conversion functions are provided for your convenience.
Since: 1.0
Field Summary | |
---|---|
static double | E
The most accurate approximation to the mathematical constant e:
2.718281828459045 . |
static double | PI
The most accurate approximation to the mathematical constant pi:
3.141592653589793 . |
Method Summary | |
---|---|
static int | abs(int i)
Take the absolute value of the argument.
|
static long | abs(long l)
Take the absolute value of the argument.
|
static float | abs(float f)
Take the absolute value of the argument.
|
static double | abs(double d)
Take the absolute value of the argument.
|
static double | acos(double a)
The trigonometric function arccos. |
static double | asin(double a)
The trigonometric function arcsin. |
static double | atan(double a)
The trigonometric function arcsin. |
static double | atan2(double y, double x)
A special version of the trigonometric function arctan, for
converting rectangular coordinates (x, y) to polar
(r, theta). |
static double | cbrt(double a) Take a cube root. |
static double | ceil(double a)
Take the nearest integer that is that is greater than or equal to the
argument. |
static double | cos(double a)
The trigonometric function cos. |
static double | cosh(double a) Returns the hyperbolic cosine of the given value. |
static double | exp(double a)
Take ea. |
static double | expm1(double a)
Returns |
static double | floor(double a)
Take the nearest integer that is that is less than or equal to the
argument. |
static double | hypot(double a, double b)
Returns the hypotenuse, |
static double | IEEEremainder(double x, double y)
Get the IEEE 754 floating point remainder on two numbers. |
static double | log(double a)
Take ln(a) (the natural log). |
static double | log10(double a) Returns the base 10 logarithm of the supplied value. |
static double | log1p(double a)
Returns the natural logarithm resulting from the sum of the argument,
|
static int | max(int a, int b)
Return whichever argument is larger.
|
static long | max(long a, long b)
Return whichever argument is larger.
|
static float | max(float a, float b)
Return whichever argument is larger. |
static double | max(double a, double b)
Return whichever argument is larger. |
static int | min(int a, int b)
Return whichever argument is smaller.
|
static long | min(long a, long b)
Return whichever argument is smaller.
|
static float | min(float a, float b)
Return whichever argument is smaller. |
static double | min(double a, double b)
Return whichever argument is smaller. |
static double | pow(double a, double b)
Raise a number to a power. |
static double | random()
Get a random number. |
static double | rint(double a)
Take the nearest integer to the argument. |
static int | round(float a)
Take the nearest integer to the argument. |
static long | round(double a)
Take the nearest long to the argument. |
static double | signum(double a) Returns the sign of the argument as follows:
|
static float | signum(float a) Returns the sign of the argument as follows:
|
static double | sin(double a)
The trigonometric function sin. |
static double | sinh(double a) Returns the hyperbolic sine of the given value. |
static double | sqrt(double a)
Take a square root. |
static double | tan(double a)
The trigonometric function tan. |
static double | tanh(double a) Returns the hyperbolic tangent of the given value. |
static double | toDegrees(double rads)
Convert from radians to degrees. |
static double | toRadians(double degrees)
Convert from degrees to radians. |
static double | ulp(double d)
Return the ulp for the given double argument. |
static float | ulp(float f)
Return the ulp for the given float argument. |
2.718281828459045
. Used in natural log and exp.
3.141592653589793
. This is the ratio of a circle's diameter
to its circumference.Note that the the largest negative value (Integer.MIN_VALUE) cannot be made positive. In this case, because of the rules of negation in a computer, MIN_VALUE is what will be returned. This is a negative value. You have been warned.
Parameters: i the number to take the absolute value of
Returns: the absolute value
See Also: MIN_VALUE
Note that the the largest negative value (Long.MIN_VALUE) cannot be made positive. In this case, because of the rules of negation in a computer, MIN_VALUE is what will be returned. This is a negative value. You have been warned.
Parameters: l the number to take the absolute value of
Returns: the absolute value
See Also: MIN_VALUE
This is equivalent, but faster than, calling
Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))
.
Parameters: f the number to take the absolute value of
Returns: the absolute value
Double.longBitsToDouble(Double.doubleToLongBits(a)
<< 1) >>> 1);
.
Parameters: d the number to take the absolute value of
Returns: the absolute value
Parameters: a the cos to turn back into an angle
Returns: arccos(a)
Parameters: a the sin to turn back into an angle
Returns: arcsin(a)
Parameters: a the tan to turn back into an angle
Returns: arcsin(a)
See Also: Math
This is accurate within 2 ulps, and is semi-monotonic. To get r, use sqrt(x*x+y*y).
Parameters: y the y position x the x position
Returns: theta in the conversion of (x, y) to (r, theta)
See Also: Math
Take a cube root. If the argument is NaN
, an infinity or
zero, then the original value is returned. The returned result is
within 1 ulp of the exact result. For a finite value, x
,
the cube root of -x
is equal to the negation of the cube root
of x
.
For a square root, use sqrt
. For other roots, use
pow(a, 1 / rootNumber)
.
Parameters: a the numeric argument
Returns: the cube root of the argument
Since: 1.5
Math.ceil(x) == -Math.floor(-x)
.
Parameters: a the value to act upon
Returns: the nearest integer >= a
Parameters: a the angle (in radians)
Returns: cos(a)
Returns the hyperbolic cosine of the given value. For a value,
x
, the hyperbolic cosine is (ex +
e-x)/2
with e
being Euler's number. The returned
result is within 2.5 ulps of the exact result.
If the supplied value is NaN
, then the original value is
returned. For either infinity, positive infinity is returned.
The hyperbolic cosine of zero is 1.0.
Parameters: a the numeric argument
Returns: the hyperbolic cosine of a
.
Since: 1.5
log()
. If the
argument is NaN, the result is NaN; if the argument is positive infinity,
the result is positive infinity; and if the argument is negative
infinity, the result is positive zero. This is accurate within 1 ulp,
and is semi-monotonic.
Parameters: a the number to raise to the power
Returns: the number raised to the power of e
Returns ea - 1. For values close to 0, the
result of
expm1(a) + 1
tend to be much closer to the
exact result than simply exp(x)
. The result is within
1 ulp of the exact result, and results are semi-monotonic. For finite
inputs, the returned value is greater than or equal to -1.0. Once
a result enters within half a ulp of this limit, the limit is returned.
For NaN
, positive infinity and zero, the original value
is returned. Negative infinity returns a result of -1.0 (the limit).
Parameters: a the numeric argument
Returns: ea - 1
Since: 1.5
Math.ceil(x) == -Math.floor(-x)
.
Parameters: a the value to act upon
Returns: the nearest integer <= a
Returns the hypotenuse, a2 + b2
,
without intermediate overflow or underflow. The returned result is
within 1 ulp of the exact result. If one parameter is held constant,
then the result in the other parameter is semi-monotonic.
If either of the arguments is an infinity, then the returned result
is positive infinity. Otherwise, if either argument is NaN
,
then NaN
is returned.
Parameters: a the first parameter. b the second parameter.
Returns: the hypotenuse matching the supplied parameters.
Since: 1.5
x - y * n
, where n is the closest
double to x / y
(ties go to the even n); for a zero
remainder, the sign is that of x
. If either argument is NaN,
the first argument is infinite, or the second argument is zero, the result
is NaN; if x is finite but y is infinite, the result is x. This is
accurate within the limits of doubles.
Parameters: x the dividend (the top half) y the divisor (the bottom half)
Returns: the IEEE 754-defined floating point remainder of x/y
See Also: Math
exp()
. If the
argument is NaN or negative, the result is NaN; if the argument is
positive infinity, the result is positive infinity; and if the argument
is either zero, the result is negative infinity. This is accurate within
1 ulp, and is semi-monotonic.
Note that the way to get logb(a) is to do this:
ln(a) / ln(b)
.
Parameters: a the number to take the natural log of
Returns: the natural log of a
See Also: Math
Returns the base 10 logarithm of the supplied value. The returned result is within 1 ulp of the exact result, and the results are semi-monotonic.
Arguments of either NaN
or less than zero return
NaN
. An argument of positive infinity returns positive
infinity. Negative infinity is returned if either positive or negative
zero is supplied. Where the argument is the result of
10n, then
n
is returned.
Parameters: a the numeric argument.
Returns: the base 10 logarithm of a
.
Since: 1.5
Returns the natural logarithm resulting from the sum of the argument,
a
and 1. For values close to 0, the
result of log1p(a)
tend to be much closer to the
exact result than simply log(1.0+a)
. The returned
result is within 1 ulp of the exact result, and the results are
semi-monotonic.
Arguments of either NaN
or less than -1 return
NaN
. An argument of positive infinity or zero
returns the original argument. Negative infinity is returned from an
argument of -1.
Parameters: a the numeric argument.
Returns: the natural logarithm of a
+ 1.
Since: 1.5
Parameters: a the first number b a second number
Returns: the larger of the two numbers
Parameters: a the first number b a second number
Returns: the larger of the two numbers
Parameters: a the first number b a second number
Returns: the larger of the two numbers
Parameters: a the first number b a second number
Returns: the larger of the two numbers
Parameters: a the first number b a second number
Returns: the smaller of the two numbers
Parameters: a the first number b a second number
Returns: the smaller of the two numbers
Parameters: a the first number b a second number
Returns: the smaller of the two numbers
Parameters: a the first number b a second number
Returns: the smaller of the two numbers
(In the foregoing descriptions, a floating-point value is considered to be an integer if and only if it is a fixed point of the method {@link #ceil(double)} or, equivalently, a fixed point of the method {@link #floor(double)}. A value is a fixed point of a one-argument method if and only if the result of applying the method to the value is equal to the value.) This is accurate within 1 ulp, and is semi-monotonic.
Parameters: a the number to raise b the power to raise it to
Returns: ab
Returns: a random number
See Also: nextDouble currentTimeMillis
Parameters: a the value to act upon
Returns: the nearest integer to a
(int) Math.floor(a + 0.5f)
. If the argument is NaN, the result
is 0; otherwise if the argument is outside the range of int, the result
will be Integer.MIN_VALUE or Integer.MAX_VALUE, as appropriate.
Parameters: a the argument to round
Returns: the nearest integer to the argument
(long) Math.floor(a + 0.5)
. If the argument is NaN, the
result is 0; otherwise if the argument is outside the range of long, the
result will be Long.MIN_VALUE or Long.MAX_VALUE, as appropriate.
Parameters: a the argument to round
Returns: the nearest long to the argument
Returns the sign of the argument as follows:
a
is greater than zero, the result is 1.0.a
is less than zero, the result is -1.0.a
is NaN
, the result is NaN
.
a
is positive or negative zero, the result is the
same.Parameters: a the numeric argument.
Returns: the sign of the argument.
Since: 1.5.
Returns the sign of the argument as follows:
a
is greater than zero, the result is 1.0f.a
is less than zero, the result is -1.0f.a
is NaN
, the result is NaN
.
a
is positive or negative zero, the result is the
same.Parameters: a the numeric argument.
Returns: the sign of the argument.
Since: 1.5.
Parameters: a the angle (in radians)
Returns: sin(a)
Returns the hyperbolic sine of the given value. For a value,
x
, the hyperbolic sine is (ex -
e-x)/2
with e
being Euler's number. The returned
result is within 2.5 ulps of the exact result.
If the supplied value is NaN
, an infinity or a zero, then the
original value is returned.
Parameters: a the numeric argument
Returns: the hyperbolic sine of a
.
Since: 1.5
For a cube root, use cbrt
. For other roots, use
pow(a, 1 / rootNumber)
.
Parameters: a the numeric argument
Returns: the square root of the argument
Parameters: a the angle (in radians)
Returns: tan(a)
Returns the hyperbolic tangent of the given value. For a value,
x
, the hyperbolic tangent is (ex -
e-x)/(ex + e-x)
(i.e. sinh(a)/cosh(a)
)
with e
being Euler's number. The returned
result is within 2.5 ulps of the exact result. The absolute value
of the exact result is always less than 1. Computed results are thus
less than or equal to 1 for finite arguments, with results within
half a ulp of either positive or negative 1 returning the appropriate
limit value (i.e. as if the argument was an infinity).
If the supplied value is NaN
or zero, then the original
value is returned. Positive infinity returns +1.0 and negative infinity
returns -1.0.
Parameters: a the numeric argument
Returns: the hyperbolic tangent of a
.
Since: 1.5
Parameters: rads an angle in radians
Returns: the angle in degrees
Since: 1.2
Parameters: degrees an angle in degrees
Returns: the angle in radians
Since: 1.2
Parameters: d the double whose ulp should be returned
Returns: the difference between the argument and the next larger double
Since: 1.5
Parameters: f the float whose ulp should be returned
Returns: the difference between the argument and the next larger float
Since: 1.5