# module Math

## Defined in:

math/math.cr
big/big_int.cr
big/big_float.cr
big/big_rational.cr

## Constant Summary

E = `LibM.exp_f64(1.0)`
LOG10 = `LibM.log_f64(10.0)`
LOG2 = `LibM.log_f64(2.0)`
PI = `3.14159265358979323846`

## Instance Method Detail

def acos(value : Float32) #

Calculates the acos of value.

def acos(value : Float64) #

Calculates the acos of value.

def acos(value) #

Calculates the acos of value.

def acosh(value : Float32) #

Calculates the acosh of value.

def acosh(value : Float64) #

Calculates the acosh of value.

def acosh(value) #

Calculates the acosh of value.

def asin(value : Float32) #

Calculates the asin of value.

def asin(value : Float64) #

Calculates the asin of value.

def asin(value) #

Calculates the asin of value.

def asinh(value : Float32) #

Calculates the asinh of value.

def asinh(value : Float64) #

Calculates the asinh of value.

def asinh(value) #

Calculates the asinh of value.

def atan(value) #

Calculates the atan of value.

def atan(value : Float64) #

Calculates the atan of value.

def atan(value : Float32) #

Calculates the atan of value.

def atan2(value1 : Float32, value2 : Float32) #

Calculates atan2 with parameters value1 and value2.

def atan2(value1 : Float64, value2 : Float64) #

Calculates atan2 with parameters value1 and value2.

def atan2(value1, value2) #

Calculates atan2 with parameters value1 and value2.

def atanh(value : Float32) #

Calculates the atanh of value.

def atanh(value : Float64) #

Calculates the atanh of value.

def atanh(value) #

Calculates the atanh of value.

def besselj(value1 : Int32, value2 : Float64) #

Calculates besselj with parameters value1 and value2.

def besselj(value1 : Int32, value2 : Float32) #

Calculates besselj with parameters value1 and value2.

def besselj(value1, value2) #

Calculates besselj with parameters value1 and value2.

def besselj0(value) #

Calculates the besselj0 function of value.

def besselj0(value : Float64) #

Calculates the besselj0 function of value.

def besselj0(value : Float32) #

Calculates the besselj0 function of value.

def besselj1(value) #

Calculates the besselj1 function of value.

def besselj1(value : Float64) #

Calculates the besselj1 function of value.

def besselj1(value : Float32) #

Calculates the besselj1 function of value.

def bessely(value1 : Int32, value2 : Float32) #

Calculates bessely with parameters value1 and value2.

def bessely(value1 : Int32, value2 : Float64) #

Calculates bessely with parameters value1 and value2.

def bessely(value1, value2) #

Calculates bessely with parameters value1 and value2.

def bessely0(value : Float64) #

Calculates the bessely0 function of value.

def bessely0(value) #

Calculates the bessely0 function of value.

def bessely0(value : Float32) #

Calculates the bessely0 function of value.

def bessely1(value) #

Calculates the bessely1 function of value.

def bessely1(value : Float64) #

Calculates the bessely1 function of value.

def bessely1(value : Float32) #

Calculates the bessely1 function of value.

def cbrt(value) #

Calculates the cbrt of value.

def cbrt(value : Float64) #

Calculates the cbrt of value.

def cbrt(value : Float32) #

Calculates the cbrt of value.

def copysign(value1, value2) #

Calculates copysign with parameters value1 and value2.

def copysign(value1 : Float64, value2 : Float64) #

Calculates copysign with parameters value1 and value2.

def copysign(value1 : Float32, value2 : Float32) #

Calculates copysign with parameters value1 and value2.

def cos(value : Float64) #

Calculates the cos of value.

def cos(value : Float32) #

Calculates the cos of value.

def cos(value) #

Calculates the cos of value.

def cosh(value : Float32) #

Calculates the cosh of value.

def cosh(value : Float64) #

Calculates the cosh of value.

def cosh(value) #

Calculates the cosh of value.

def erf(value : Float32) #

Calculates the erf of value.

def erf(value : Float64) #

Calculates the erf of value.

def erf(value) #

Calculates the erf of value.

def erfc(value : Float32) #

Calculates the erfc of value.

def erfc(value : Float64) #

Calculates the erfc of value.

def erfc(value) #

Calculates the erfc of value.

def exp(value : Float32) #

Calculates the exp of value.

def exp(value : Float64) #

Calculates the exp of value.

def exp(value) #

Calculates the exp of value.

def exp2(value : Float64) #

Calculates the exp2 of value.

def exp2(value) #

Calculates the exp2 of value.

def exp2(value : Float32) #

Calculates the exp2 of value.

def expm1(value : Float32) #

Calculates the expm1 of value.

def expm1(value : Float64) #

Calculates the expm1 of value.

def expm1(value) #

Calculates the expm1 of value.

def frexp(value) #

Decomposes given floating point value into a normalized fraction and an integral power of two.

def frexp(value : BigFloat) #

def frexp(value : Float64) #

Decomposes given floating point value into a normalized fraction and an integral power of two.

def frexp(value : Float32) #

Decomposes given floating point value into a normalized fraction and an integral power of two.

def gamma(value : Float64) #

Calculates the gamma function of value.

Note that `#gamma(n)` is same as `fact(n - 1)` for integer `n > 0`. However `#gamma(n)` returns float and can be an approximation.

def gamma(value) #

Calculates the gamma function of value.

Note that `#gamma(n)` is same as `fact(n - 1)` for integer `n > 0`. However `#gamma(n)` returns float and can be an approximation.

def gamma(value : Float32) #

Calculates the gamma function of value.

Note that `#gamma(n)` is same as `fact(n - 1)` for integer `n > 0`. However `#gamma(n)` returns float and can be an approximation.

def hypot(value1 : Float32, value2 : Float32) #

Calculates hypot with parameters value1 and value2.

def hypot(value1 : Float64, value2 : Float64) #

Calculates hypot with parameters value1 and value2.

def hypot(value1, value2) #

Calculates hypot with parameters value1 and value2.

def ilogb(value : Float32) #

Calculates the ilogb of value.

def ilogb(value : Float64) #

Calculates the ilogb of value.

def ilogb(value) #

Calculates the ilogb of value.

def ldexp(value1 : Float32, value2 : Int32) #

Calculates ldexp with parameters value1 and value2.

def ldexp(value1 : Float64, value2 : Int32) #

Calculates ldexp with parameters value1 and value2.

def ldexp(value1, value2) #

Calculates ldexp with parameters value1 and value2.

def lgamma(value) #

Calculates the logarithmic gamma of value.

``Math.lgamma(2.96)``

is the same as

``Math.log(Math.gamma(2.96).abs)``

def lgamma(value : Float64) #

Calculates the logarithmic gamma of value.

``Math.lgamma(2.96)``

is the same as

``Math.log(Math.gamma(2.96).abs)``

def lgamma(value : Float32) #

Calculates the logarithmic gamma of value.

``Math.lgamma(2.96)``

is the same as

``Math.log(Math.gamma(2.96).abs)``

def log(numeric, base) #

Returns the logarithm of numeric to the base base.

def log(value : Float64) #

Calculates the log of value.

def log(value) #

Calculates the log of value.

def log(value : Float32) #

Calculates the log of value.

def log10(value : Float32) #

Calculates the log10 of value.

def log10(value) #

Calculates the log10 of value.

def log10(value : Float64) #

Calculates the log10 of value.

def log1p(value) #

Calculates the log1p of value.

def log1p(value : Float64) #

Calculates the log1p of value.

def log1p(value : Float32) #

Calculates the log1p of value.

def log2(value) #

Calculates the log2 of value.

def log2(value : Float64) #

Calculates the log2 of value.

def log2(value : Float32) #

Calculates the log2 of value.

def logb(value) #

Calculates the logb of value.

def logb(value : Float64) #

Calculates the logb of value.

def logb(value : Float32) #

Calculates the logb of value.

def max(value1 : Float64, value2 : Float64) #

def max(value1, value2) #

Returns the greater of value1 and value2.

def max(value1 : Float32, value2 : Float32) #

def min(value1 : Float32, value2 : Float32) #

def min(value1 : Float64, value2 : Float64) #

def min(value1, value2) #

Returns the smaller of value1 and value2.

def pw2ceil(v) #

Computes the next highest power of 2 of v.

``Math.pw2ceil(33) # => 64``

def scalbln(value, exp) #

Multiplies value by 2 raised to power exp.

def scalbln(value : Float64, exp : Int64) #

Multiplies value by 2 raised to power exp.

def scalbln(value : Float32, exp : Int64) #

Multiplies value by 2 raised to power exp.

def scalbn(value1, value2) #

Calculates scalbn with parameters value1 and value2.

def scalbn(value1 : Float64, value2 : Int32) #

Calculates scalbn with parameters value1 and value2.

def scalbn(value1 : Float32, value2 : Int32) #

Calculates scalbn with parameters value1 and value2.

def sin(value : Float32) #

Calculates the sin of value.

def sin(value : Float64) #

Calculates the sin of value.

def sin(value) #

Calculates the sin of value.

def sinh(value : Float32) #

Calculates the sinh of value.

def sinh(value : Float64) #

Calculates the sinh of value.

def sinh(value) #

Calculates the sinh of value.

def sqrt(value : Float32) #

Calculates the sqrt of value.

def sqrt(value : Float64) #

Calculates the sqrt of value.

def sqrt(value : BigInt) #

Returns the sqrt of a `BigInt`.

``````require "big"
Math.sqrt((1000_000_000_0000.to_big_i*1000_000_000_00000.to_big_i))``````

def sqrt(value : BigFloat) #

Returns the sqrt of a `BigFloat`.

``````require "big"
Math.sqrt((1000_000_000_0000.to_big_f*1000_000_000_00000.to_big_f))``````

def sqrt(value : BigRational) #

Returns the sqrt of a `BigRational`.

``````require "big"
Math.sqrt((1000_000_000_0000.to_big_r*1000_000_000_00000.to_big_r))``````

def sqrt(value) #

Calculates the sqrt of value.

def tan(value : Float32) #

Calculates the tan of value.

def tan(value : Float64) #

Calculates the tan of value.

def tan(value) #

Calculates the tan of value.

def tanh(value : Float32) #

Calculates the tanh of value.

def tanh(value : Float64) #

Calculates the tanh of value.

def tanh(value) #

Calculates the tanh of value.