Class JdkMath
- java.lang.Object
-
- org.apache.commons.math4.core.jdkmath.JdkMath
-
public final class JdkMath extends Object
Wrapper for alternative implementations ofMathfunctions. For example, a call toMath.sin(x)can be replaced by a call toJdkMath.sin(x).This class is a "drop-in" replacement for both Math and StrictMath, up to the minimal JDK version required by this library (meaning that, although the library can be used on more recent JVMs, the
JdkMathclass may be missing the methods that were absent in older JDKs).Based on the value, at class initialization, of the system property
org.apache.commons.math.jdkmath, this class redirects to a specific implementation:CM:AccurateMathJDK:Math
CMis the default value.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJdkMath.ImplAvailable implementations ofMathfunctions.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static doubleabs(double x)static floatabs(float x)static intabs(int x)static longabs(long x)static doubleacos(double x)static doubleacosh(double x)static intaddExact(int x, int y)static longaddExact(long x, long y)static doubleasin(double x)static doubleasinh(double x)static doubleatan(double x)static doubleatan2(double y, double x)static doubleatanh(double x)static doublecbrt(double x)static doubleceil(double x)static doublecopySign(double x, double y)static floatcopySign(float x, float y)static doublecos(double x)static doublecosh(double x)static intdecrementExact(int x)static longdecrementExact(long x)static doubleexp(double x)static doubleexpm1(double x)static doublefloor(double x)static intfloorDiv(int x, int y)static longfloorDiv(long x, long y)static intfloorMod(int x, int y)static longfloorMod(long x, long y)static intgetExponent(double x)static intgetExponent(float x)static doublehypot(double x, double y)static doubleIEEEremainder(double x, double y)static intincrementExact(int x)static longincrementExact(long x)static doublelog(double x)static doublelog10(double x)static doublelog1p(double x)static doublemax(double x, double y)static floatmax(float x, float y)static intmax(int x, int y)static longmax(long x, long y)static doublemin(double x, double y)static floatmin(float x, float y)static intmin(int x, int y)static longmin(long x, long y)static intmultiplyExact(int x, int y)static longmultiplyExact(long x, long y)static intnegateExact(int x)static longnegateExact(long x)static doublenextAfter(double x, double y)static floatnextAfter(float x, double y)static doublenextDown(double x)static floatnextDown(float x)static doublenextUp(double x)static floatnextUp(float x)static doublepow(double x, double y)static doublerandom()static doublerint(double x)static longround(double x)static intround(float x)static doublescalb(double x, int y)static floatscalb(float x, int y)static doublesignum(double x)static floatsignum(float x)static doublesin(double x)static doublesinh(double x)static doublesqrt(double x)static intsubtractExact(int x, int y)static longsubtractExact(long x, long y)static doubletan(double x)static doubletanh(double x)static doubletoDegrees(double x)static inttoIntExact(long x)static doubletoRadians(double x)static doubleulp(double x)static floatulp(float x)
-
-
-
Method Detail
-
abs
public static int abs(int x)
- Parameters:
x- Number.- Returns:
- abs(x).
- See Also:
Math.abs(int)
-
abs
public static long abs(long x)
- Parameters:
x- Number.- Returns:
- abs(x).
- See Also:
Math.abs(long)
-
abs
public static float abs(float x)
- Parameters:
x- Number.- Returns:
- abs(x).
- See Also:
Math.abs(float)
-
abs
public static double abs(double x)
- Parameters:
x- Number.- Returns:
- abs(x).
- See Also:
Math.abs(double)
-
acos
public static double acos(double x)
- Parameters:
x- Number.- Returns:
- acos(x).
- See Also:
Math.acos(double)
-
acosh
public static double acosh(double x)
- Parameters:
x- Number.- Returns:
- acosh(x).
-
addExact
public static int addExact(int x, int y)
- Parameters:
x- Number.y- Number.- Returns:
- addExact(x, y).
- See Also:
Math.addExact(int,int)
-
addExact
public static long addExact(long x, long y)
- Parameters:
x- Number.y- Number.- Returns:
- addExact(x, y).
- See Also:
Math.addExact(long,long)
-
asin
public static double asin(double x)
- Parameters:
x- Number.- Returns:
- asin(x).
- See Also:
Math.asin(double)
-
asinh
public static double asinh(double x)
- Parameters:
x- Number.- Returns:
- asinh(x).
-
atan
public static double atan(double x)
- Parameters:
x- Number.- Returns:
- atan(x).
- See Also:
Math.atan(double)
-
atan2
public static double atan2(double y, double x)
- Parameters:
y- Number.x- Number.- Returns:
- atan2(y, x).
- See Also:
Math.atan2(double,double)
-
atanh
public static double atanh(double x)
- Parameters:
x- Number.- Returns:
- atanh(x).
-
cbrt
public static double cbrt(double x)
- Parameters:
x- Number.- Returns:
- cbrt(x).
- See Also:
Math.cbrt(double)
-
ceil
public static double ceil(double x)
- Parameters:
x- Number.- Returns:
- ceil(x).
- See Also:
Math.ceil(double)
-
copySign
public static float copySign(float x, float y)
- Parameters:
x- Number.y- Number.- Returns:
- copySign(x, y).
- See Also:
Math.copySign(float,float)
-
copySign
public static double copySign(double x, double y)
- Parameters:
x- Number.y- Number.- Returns:
- copySign(x, y).
- See Also:
Math.copySign(double,double)
-
cos
public static double cos(double x)
- Parameters:
x- Number.- Returns:
- cos(x).
- See Also:
Math.cos(double)
-
cosh
public static double cosh(double x)
- Parameters:
x- Number.- Returns:
- cosh(x).
- See Also:
Math.cosh(double)
-
decrementExact
public static int decrementExact(int x)
- Parameters:
x- Number.- Returns:
- decrementExact(x).
- See Also:
Math.decrementExact(int)
-
decrementExact
public static long decrementExact(long x)
- Parameters:
x- Number.- Returns:
- decrementExact(x).
- See Also:
Math.decrementExact(long)
-
exp
public static double exp(double x)
- Parameters:
x- Number.- Returns:
- exp(x).
- See Also:
Math.exp(double)
-
expm1
public static double expm1(double x)
- Parameters:
x- Number.- Returns:
- expm1(x).
- See Also:
Math.expm1(double)
-
floor
public static double floor(double x)
- Parameters:
x- Number.- Returns:
- floor(x).
- See Also:
Math.floor(double)
-
floorDiv
public static int floorDiv(int x, int y)
- Parameters:
x- Number.y- Number.- Returns:
- floorDiv(x, y).
- See Also:
Math.floorDiv(int,int)
-
floorDiv
public static long floorDiv(long x, long y)
- Parameters:
x- Number.y- Number.- Returns:
- floorDiv(x, y).
- See Also:
Math.floorDiv(long,long)
-
floorMod
public static int floorMod(int x, int y)
- Parameters:
x- Number.y- Number.- Returns:
- floorMod(x, y).
- See Also:
Math.floorMod(int,int)
-
floorMod
public static long floorMod(long x, long y)
- Parameters:
x- Number.y- Number.- Returns:
- floorMod(x, y).
- See Also:
Math.floorMod(long,long)
-
getExponent
public static int getExponent(float x)
- Parameters:
x- Number.- Returns:
- getExponent(x).
- See Also:
Math.getExponent(float)
-
getExponent
public static int getExponent(double x)
- Parameters:
x- Number.- Returns:
- getExponent(x).
- See Also:
Math.getExponent(double)
-
hypot
public static double hypot(double x, double y)
- Parameters:
x- Number.y- Number.- Returns:
- hypot(x, y).
- See Also:
Math.hypot(double,double)
-
IEEEremainder
public static double IEEEremainder(double x, double y)
- Parameters:
x- Number.y- Number.- Returns:
- IEEEremainder(x, y).
- See Also:
Math.IEEEremainder(double,double)
-
incrementExact
public static int incrementExact(int x)
- Parameters:
x- Number.- Returns:
- incrementExact(x).
- See Also:
Math.incrementExact(int)
-
incrementExact
public static long incrementExact(long x)
- Parameters:
x- Number.- Returns:
- incrementExact(x).
- See Also:
Math.incrementExact(long)
-
log
public static double log(double x)
- Parameters:
x- Number.- Returns:
- log(x).
- See Also:
Math.log(double)
-
log10
public static double log10(double x)
- Parameters:
x- Number.- Returns:
- log10(x).
- See Also:
Math.log10(double)
-
log1p
public static double log1p(double x)
- Parameters:
x- Number.- Returns:
- log1p(x).
- See Also:
Math.log1p(double)
-
max
public static int max(int x, int y)
- Parameters:
x- Number.y- Number.- Returns:
- max(x, y).
- See Also:
Math.max(int,int)
-
max
public static long max(long x, long y)
- Parameters:
x- Number.y- Number.- Returns:
- max(x, y).
- See Also:
Math.max(long,long)
-
max
public static float max(float x, float y)
- Parameters:
x- Number.y- Number.- Returns:
- max(x, y).
- See Also:
Math.max(float,float)
-
max
public static double max(double x, double y)
- Parameters:
x- Number.y- Number.- Returns:
- max(x, y).
- See Also:
Math.max(double,double)
-
min
public static int min(int x, int y)
- Parameters:
x- Number.y- Number.- Returns:
- min(x, y).
- See Also:
Math.min(int,int)
-
min
public static long min(long x, long y)
- Parameters:
x- Number.y- Number.- Returns:
- min(x, y).
- See Also:
Math.min(long,long)
-
min
public static float min(float x, float y)
- Parameters:
x- Number.y- Number.- Returns:
- min(x, y).
- See Also:
Math.min(float,float)
-
min
public static double min(double x, double y)
- Parameters:
x- Number.y- Number.- Returns:
- min(x, y).
- See Also:
Math.min(double,double)
-
multiplyExact
public static int multiplyExact(int x, int y)
- Parameters:
x- Number.y- Number.- Returns:
- multiplyExact(x, y).
- See Also:
Math.multiplyExact(int,int)
-
multiplyExact
public static long multiplyExact(long x, long y)
- Parameters:
x- Number.y- Number.- Returns:
- multiplyExact(x, y).
- See Also:
Math.multiplyExact(long,long)
-
negateExact
public static int negateExact(int x)
- Parameters:
x- Number.- Returns:
- negateExact(x).
- See Also:
Math.negateExact(int)
-
negateExact
public static long negateExact(long x)
- Parameters:
x- Number.- Returns:
- negateExact(x).
- See Also:
Math.negateExact(long)
-
nextAfter
public static double nextAfter(double x, double y)
- Parameters:
x- Number.y- Number.- Returns:
- nextAfter(x, y).
- See Also:
Math.nextAfter(double, double)
-
nextAfter
public static float nextAfter(float x, double y)
- Parameters:
x- Number.y- Number.- Returns:
- nextAfter(x, y).
- See Also:
Math.nextAfter(float,double)
-
nextDown
public static double nextDown(double x)
- Parameters:
x- Number.- Returns:
- nextDown(x).
- See Also:
Math.nextDown(double)
-
nextDown
public static float nextDown(float x)
- Parameters:
x- Number.- Returns:
- nextDown(x).
- See Also:
Math.nextDown(float)
-
nextUp
public static double nextUp(double x)
- Parameters:
x- Number.- Returns:
- nextUp(x).
- See Also:
Math.nextUp(double)
-
nextUp
public static float nextUp(float x)
- Parameters:
x- Number.- Returns:
- nextUp(x).
- See Also:
Math.nextUp(float)
-
pow
public static double pow(double x, double y)
- Parameters:
x- Number.y- Number.- Returns:
- pow(x, y).
- See Also:
Math.pow(double,double)
-
random
public static double random()
- Returns:
- a random number between 0 and 1.
- See Also:
Math.random()
-
rint
public static double rint(double x)
- Parameters:
x- Number.- Returns:
- rint(x).
- See Also:
Math.rint(double)
-
round
public static int round(float x)
- Parameters:
x- Number.- Returns:
- round(x).
- See Also:
Math.round(float)
-
round
public static long round(double x)
- Parameters:
x- Number.- Returns:
- round(x).
- See Also:
Math.round(double)
-
scalb
public static double scalb(double x, int y)
- Parameters:
x- Number.y- Number.- Returns:
- scalb(x, y).
- See Also:
Math.scalb(double,int)
-
scalb
public static float scalb(float x, int y)
- Parameters:
x- Number.y- Number.- Returns:
- scalb(x, y).
- See Also:
Math.scalb(float,int)
-
signum
public static double signum(double x)
- Parameters:
x- Number.- Returns:
- signum(x).
- See Also:
Math.signum(double)
-
signum
public static float signum(float x)
- Parameters:
x- Number.- Returns:
- signum(x).
- See Also:
Math.signum(float)
-
sin
public static double sin(double x)
- Parameters:
x- Number.- Returns:
- sin(x).
- See Also:
Math.sin(double)
-
sinh
public static double sinh(double x)
- Parameters:
x- Number.- Returns:
- sinh(x).
- See Also:
Math.sinh(double)
-
sqrt
public static double sqrt(double x)
- Parameters:
x- Number.- Returns:
- sqrt(x).
- See Also:
Math.sqrt(double)
-
subtractExact
public static int subtractExact(int x, int y)
- Parameters:
x- Number.y- Number.- Returns:
- subtractExact(x, y).
- See Also:
Math.subtractExact(int,int)
-
subtractExact
public static long subtractExact(long x, long y)
- Parameters:
x- Number.y- Number.- Returns:
- subtractExact(x, y).
- See Also:
Math.subtractExact(long,long)
-
tan
public static double tan(double x)
- Parameters:
x- Number.- Returns:
- tan(x).
- See Also:
Math.tan(double)
-
tanh
public static double tanh(double x)
- Parameters:
x- Number.- Returns:
- tanh(x).
- See Also:
Math.tanh(double)
-
toDegrees
public static double toDegrees(double x)
- Parameters:
x- Number.- Returns:
- toDegrees(x).
- See Also:
Math.toDegrees(double)
-
toIntExact
public static int toIntExact(long x)
- Parameters:
x- Number.- Returns:
- toIntExact(x).
- See Also:
Math.toIntExact(long)
-
toRadians
public static double toRadians(double x)
- Parameters:
x- Number.- Returns:
- toRadians(x).
- See Also:
Math.toRadians(double)
-
ulp
public static double ulp(double x)
- Parameters:
x- Number.- Returns:
- ulp(x).
- See Also:
Math.ulp(double)
-
ulp
public static float ulp(float x)
- Parameters:
x- Number.- Returns:
- ulp(x).
- See Also:
Math.ulp(float)
-
-