org.apache.lucene.util

## Class MathUtil

• public final class MathUtil
extends Object
Math static utility methods.
• ### Method Summary

Methods
Modifier and Type Method and Description
static double acosh(double a)
Calculates inverse hyperbolic cosine of a double value.
static double asinh(double a)
Calculates inverse hyperbolic sine of a double value.
static double atanh(double a)
Calculates inverse hyperbolic tangent of a double value.
static long gcd(long a, long b)
Return the greatest common divisor of a and b, consistently with BigInteger.gcd(BigInteger).
static double log(double base, double x)
Calculates logarithm in a given base with doubles.
static int log(long x, int base)
Returns x <= 0 ? 0 : Math.floor(Math.log(x) / Math.log(base))
• ### Method Detail

• #### log

public static int log(long x,
int base)
Returns x <= 0 ? 0 : Math.floor(Math.log(x) / Math.log(base))
Parameters:
base - must be > 1
• #### log

public static double log(double base,
double x)
Calculates logarithm in a given base with doubles.
• #### gcd

public static long gcd(long a,
long b)
Return the greatest common divisor of a and b, consistently with BigInteger.gcd(BigInteger).

NOTE: A greatest common divisor must be positive, but 2^64 cannot be expressed as a long although it is the GCD of Long.MIN_VALUE and 0 and the GCD of Long.MIN_VALUE and Long.MIN_VALUE. So in these 2 cases, and only them, this method will return Long.MIN_VALUE.

• #### asinh

public static double asinh(double a)
Calculates inverse hyperbolic sine of a double value.

Special cases:

• If the argument is NaN, then the result is NaN.
• If the argument is zero, then the result is a zero with the same sign as the argument.
• If the argument is infinite, then the result is infinity with the same sign as the argument.
• #### acosh

public static double acosh(double a)
Calculates inverse hyperbolic cosine of a double value.

Special cases:

• If the argument is NaN, then the result is NaN.
• If the argument is +1, then the result is a zero.
• If the argument is positive infinity, then the result is positive infinity.
• If the argument is less than 1, then the result is NaN.
• #### atanh

public static double atanh(double a)
Calculates inverse hyperbolic tangent of a double value.

Special cases:

• If the argument is NaN, then the result is NaN.
• If the argument is zero, then the result is a zero with the same sign as the argument.
• If the argument is +1, then the result is positive infinity.
• If the argument is -1, then the result is negative infinity.
• If the argument's absolute value is greater than 1, then the result is NaN.