Client and backend. This class is shared: the same code is compiled into your app and into your server, so everything on this page works in both.
public final class Math
- Object
- Math
Fields
public static final double E = 2.718281828459045 | The double value that is closer than any other to e, the base of the natural logarithms. |
public static final double PI = 3.141592653589793 | The double value that is closer than any other to , the ratio of the circumference of a circle to its diameter. |
public static final double TAU = 6.283185307179586 | Twice pi, the ratio of a circle’s circumference to its radius. |
Constructors
public Math() |
Methods
public static double abs(double a) | Returns the absolute value of a double value. |
public static float abs(float a) | Returns the absolute value of a float value. |
public static int abs(int a) | Returns the absolute value of an int value. |
public static long abs(long a) | Returns the absolute value of a long value. |
public static double ceil(double a) | Returns the smallest (closest to negative infinity) double value that is not less than the argument and is equal to a mathematical integer. |
public static double cos(double a) | Returns the trigonometric cosine of an angle. |
public static double floor(double a) | Returns the largest (closest to positive infinity) double value that is not greater than the argument and is equal to a mathematical integer. |
public static double max(double a, double b) | Returns the greater of two double values. |
public static float max(float a, float b) | Returns the greater of two float values. |
public static int max(int a, int b) | Returns the greater of two int values. |
public static long max(long a, long b) | Returns the greater of two long values. |
public static double min(double a, double b) | Returns the smaller of two double values. |
public static float min(float a, float b) | Returns the smaller of two float values. |
public static int min(int a, int b) | Returns the smaller of two int values. |
public static long min(long a, long b) | Returns the smaller of two long values. |
public static double sin(double a) | Returns the trigonometric sine of an angle. |
public static double sqrt(double a) | Returns the correctly rounded positive square root of a double value. |
public static double tan(double a) | Returns the trigonometric tangent of an angle. |
public static double toDegrees(double angrad) | Converts an angle measured in radians to the equivalent angle measured in degrees. |
public static double toRadians(double angdeg) | Converts an angle measured in degrees to the equivalent angle measured in radians. |
public static long round(double d) | Returns the result of rounding the argument to an integer. |
public static int round(float f) | Returns the result of rounding the argument to an integer. |
public static double nextDown(double d) | |
public static double nextAfter(double start, double direction) | |
public static float nextAfter(float start, double direction) | |
public static double random() | A pseudo-random double in [0, 1). |
public static double signum(double d) | -1.0, 0.0 or 1.0 by the sign of d; a zero or NaN is returned as it is. |
public static float signum(float f) | -1.0f, 0.0f or 1.0f by the sign of f; a zero or NaN is returned as it is. |
public static double copySign(double magnitude, double sign) | magnitude with the sign bit of sign. |
public static float copySign(float magnitude, float sign) | magnitude with the sign bit of sign. |
public static int getExponent(double d) | The unbiased exponent of d: 1024 for NaN and the infinities, -1023 for zero and the subnormals. |
public static int getExponent(float f) | The unbiased exponent of f: 128 for NaN and the infinities, -127 for zero and the subnormals. |
public static double ulp(double d) | The distance from d to the next double of larger magnitude. |
public static float ulp(float f) | The distance from f to the next float of larger magnitude. |
public static double nextUp(double d) | The double next to d towards positive infinity. |
public static float nextUp(float f) | The float next to f towards positive infinity. |
public static float nextDown(float f) | The float next to f towards negative infinity. |
public static double scalb(double d, int scaleFactor) | d times 2 to the power scaleFactor, rounded once. |
public static float scalb(float f, int scaleFactor) | f times 2 to the power scaleFactor, rounded once. |
public static double hypot(double x, double y) | The square root of x * x + y * y, without overflow in between. |
public static double cbrt(double a) | The cube root of a. |
public static double rint(double a) | The whole number nearest a; a tie goes to the even one. |
public static double sinh(double x) | The hyperbolic sine of x. |
public static double cosh(double x) | The hyperbolic cosine of x. |
public static double tanh(double x) | The hyperbolic tangent of x. |
public static int floorDiv(int x, int y) | The largest int not greater than x / y. |
public static long floorDiv(long x, int y) | The largest long not greater than x / y. |
public static long floorDiv(long x, long y) | The largest long not greater than x / y. |
public static int floorMod(int x, int y) | x - floorDiv(x, y) * y: the remainder with the sign of y. |
public static int floorMod(long x, int y) | x - floorDiv(x, y) * y: the remainder with the sign of y. |
public static long floorMod(long x, long y) | x - floorDiv(x, y) * y: the remainder with the sign of y. |
public static int ceilDiv(int x, int y) | The smallest int not less than x / y. |
public static long ceilDiv(long x, int y) | The smallest long not less than x / y. |
public static long ceilDiv(long x, long y) | The smallest long not less than x / y. |
public static int ceilMod(int x, int y) | x - ceilDiv(x, y) * y. |
public static int ceilMod(long x, int y) | x - ceilDiv(x, y) * y. |
public static long ceilMod(long x, long y) | x - ceilDiv(x, y) * y. |
public static int divideExact(int x, int y) | x / y, throwing on the one quotient that overflows. |
public static long divideExact(long x, long y) | x / y, throwing on the one quotient that overflows. |
public static int floorDivExact(int x, int y) | floorDiv(x, y), throwing on the one quotient that overflows. |
public static long floorDivExact(long x, long y) | floorDiv(x, y), throwing on the one quotient that overflows. |
public static int ceilDivExact(int x, int y) | ceilDiv(x, y), throwing on the one quotient that overflows. |
public static long ceilDivExact(long x, long y) | ceilDiv(x, y), throwing on the one quotient that overflows. |
public static int addExact(int x, int y) | x + y, throwing when it overflows. |
public static long addExact(long x, long y) | x + y, throwing when it overflows. |
public static int subtractExact(int x, int y) | x - y, throwing when it overflows. |
public static long subtractExact(long x, long y) | x - y, throwing when it overflows. |
public static int multiplyExact(int x, int y) | x * y, throwing when it overflows. |
public static long multiplyExact(long x, int y) | x * y, throwing when it overflows. |
public static long multiplyExact(long x, long y) | x * y, throwing when it overflows. |
public static long multiplyFull(int x, int y) | The exact product of two ints. |
public static long multiplyHigh(long x, long y) | The high 64 bits of the 128-bit product of two signed longs. |
public static long unsignedMultiplyHigh(long x, long y) | The high 64 bits of the 128-bit product of two unsigned longs. |
public static int incrementExact(int a) | a + 1, throwing when it overflows. |
public static long incrementExact(long a) | a + 1, throwing when it overflows. |
public static int decrementExact(int a) | a - 1, throwing when it overflows. |
public static long decrementExact(long a) | a - 1, throwing when it overflows. |
public static int negateExact(int a) | -a, throwing when it overflows. |
public static long negateExact(long a) | -a, throwing when it overflows. |
public static int toIntExact(long value) | The value as an int, throwing when it does not fit. |
public static int absExact(int a) | The absolute value, throwing for Integer.MIN_VALUE, which has none. |
public static long absExact(long a) | The absolute value, throwing for Long.MIN_VALUE, which has none. |
public static int clamp(long value, int min, int max) | value clamped to [min, max], as an int. |
public static long clamp(long value, long min, long max) | value clamped to [min, max]. |
public static double clamp(double value, double min, double max) | value clamped to [min, max]. |
public static float clamp(float value, float min, float max) | value clamped to [min, max]. |
Inherited methods
Field details
E
public static final double E = 2.718281828459045PI
public static final double PI = 3.141592653589793TAU
public static final double TAU = 6.283185307179586Constructor details
Math
public Math()Method details
abs
public static double abs(double a)abs
public static float abs(float a)abs
public static int abs(int a)abs
public static long abs(long a)ceil
public static double ceil(double a)cos
public static double cos(double a)floor
public static double floor(double a)max
public static double max(double a, double b)max
public static float max(float a, float b)max
public static int max(int a, int b)max
public static long max(long a, long b)min
public static double min(double a, double b)min
public static float min(float a, float b)min
public static int min(int a, int b)min
public static long min(long a, long b)sin
public static double sin(double a)sqrt
public static double sqrt(double a)tan
public static double tan(double a)toDegrees
public static double toDegrees(double angrad)toRadians
public static double toRadians(double angdeg)round
public static long round(double d)Returns the result of rounding the argument to an integer. The result is
equivalent to (long) Math.floor(d+0.5).
Special cases:
round(+0.0) = (long) +0.0round(-0.0) = (long) +0.0round((anything > Long.MAX_VALUE) = Long.MAX_VALUEround((anything < Long.MIN_VALUE) = Long.MIN_VALUEround(+infinity) = Long.MAX_VALUEround(-infinity) = Long.MIN_VALUEround(NaN) = (long) +0.0
Parameters
ddouble- the value to be rounded.
Returns
round
public static int round(float f)Returns the result of rounding the argument to an integer. The result is
equivalent to (int) Math.floor(f+0.5).
Special cases:
round(+0.0) = (int) +0.0round(-0.0) = (int) +0.0round((anything > Integer.MAX_VALUE) = Integer.MAX_VALUEround((anything < Integer.MIN_VALUE) = Integer.MIN_VALUEround(+infinity) = Integer.MAX_VALUEround(-infinity) = Integer.MIN_VALUEround(NaN) = (int) +0.0
Parameters
ffloat- the value to be rounded.
Returns
nextDown
public static double nextDown(double d)nextAfter
public static double nextAfter(double start, double direction)nextAfter
public static float nextAfter(float start, double direction)random
public static double random()[0, 1).signum
public static double signum(double d)d; a zero or NaN is returned as it is.signum
public static float signum(float f)f; a zero or NaN is returned as it is.copySign
public static double copySign(double magnitude, double sign)magnitude with the sign bit of sign.copySign
public static float copySign(float magnitude, float sign)magnitude with the sign bit of sign.getExponent
public static int getExponent(double d)d: 1024 for NaN and the infinities, -1023
for zero and the subnormals.getExponent
public static int getExponent(float f)f: 128 for NaN and the infinities, -127 for
zero and the subnormals.ulp
public static double ulp(double d)d to the next double of larger magnitude.ulp
public static float ulp(float f)f to the next float of larger magnitude.nextUp
public static double nextUp(double d)d towards positive infinity.nextUp
public static float nextUp(float f)f towards positive infinity.nextDown
public static float nextDown(float f)f towards negative infinity.scalb
public static double scalb(double d, int scaleFactor)d times 2 to the power scaleFactor, rounded once.scalb
public static float scalb(float f, int scaleFactor)f times 2 to the power scaleFactor, rounded once.hypot
public static double hypot(double x, double y)x * x + y * y, without overflow in between.cbrt
public static double cbrt(double a)a.rint
public static double rint(double a)a; a tie goes to the even one.sinh
public static double sinh(double x)x.cosh
public static double cosh(double x)x.tanh
public static double tanh(double x)x.floorDiv
public static int floorDiv(int x, int y)x / y.floorDiv
public static long floorDiv(long x, int y)x / y.floorDiv
public static long floorDiv(long x, long y)x / y.floorMod
public static int floorMod(int x, int y)x - floorDiv(x, y) * y: the remainder with the sign of y.floorMod
public static int floorMod(long x, int y)x - floorDiv(x, y) * y: the remainder with the sign of y.floorMod
public static long floorMod(long x, long y)x - floorDiv(x, y) * y: the remainder with the sign of y.ceilDiv
public static int ceilDiv(int x, int y)x / y.ceilDiv
public static long ceilDiv(long x, int y)x / y.ceilDiv
public static long ceilDiv(long x, long y)x / y.ceilMod
public static int ceilMod(int x, int y)x - ceilDiv(x, y) * y.ceilMod
public static int ceilMod(long x, int y)x - ceilDiv(x, y) * y.ceilMod
public static long ceilMod(long x, long y)x - ceilDiv(x, y) * y.divideExact
public static int divideExact(int x, int y)x / y, throwing on the one quotient that overflows.divideExact
public static long divideExact(long x, long y)x / y, throwing on the one quotient that overflows.floorDivExact
public static int floorDivExact(int x, int y)floorDiv(x, y), throwing on the one quotient that overflows.floorDivExact
public static long floorDivExact(long x, long y)floorDiv(x, y), throwing on the one quotient that overflows.ceilDivExact
public static int ceilDivExact(int x, int y)ceilDiv(x, y), throwing on the one quotient that overflows.ceilDivExact
public static long ceilDivExact(long x, long y)ceilDiv(x, y), throwing on the one quotient that overflows.addExact
public static int addExact(int x, int y)x + y, throwing when it overflows.addExact
public static long addExact(long x, long y)x + y, throwing when it overflows.subtractExact
public static int subtractExact(int x, int y)x - y, throwing when it overflows.subtractExact
public static long subtractExact(long x, long y)x - y, throwing when it overflows.multiplyExact
public static int multiplyExact(int x, int y)x * y, throwing when it overflows.multiplyExact
public static long multiplyExact(long x, int y)x * y, throwing when it overflows.multiplyExact
public static long multiplyExact(long x, long y)x * y, throwing when it overflows.multiplyFull
public static long multiplyFull(int x, int y)multiplyHigh
public static long multiplyHigh(long x, long y)unsignedMultiplyHigh
public static long unsignedMultiplyHigh(long x, long y)incrementExact
public static int incrementExact(int a)a + 1, throwing when it overflows.incrementExact
public static long incrementExact(long a)a + 1, throwing when it overflows.decrementExact
public static int decrementExact(int a)a - 1, throwing when it overflows.decrementExact
public static long decrementExact(long a)a - 1, throwing when it overflows.negateExact
public static int negateExact(int a)-a, throwing when it overflows.negateExact
public static long negateExact(long a)-a, throwing when it overflows.toIntExact
public static int toIntExact(long value)absExact
public static int absExact(int a)Integer.MIN_VALUE, which has none.absExact
public static long absExact(long a)Long.MIN_VALUE, which has none.clamp
public static int clamp(long value, int min, int max)value clamped to [min, max], as an int.clamp
public static long clamp(long value, long min, long max)value clamped to [min, max].clamp
public static double clamp(double value, double min, double max)value clamped to [min, max].clamp
public static float clamp(float value, float min, float max)value clamped to [min, max].