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))`
• ### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### 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.
• #### 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.