Search documentation of stdlib

# math (stdlib v7.3)

Copy Markdown View Source

Mathematical functions.

This module provides an interface to a number of mathematical functions.

## Summary

### Functions

acos(X)

Returns the arc cosine of `X` in radians.

acosh(X)

Returns the inverse hyperbolic cosine of `X`.

asin(X)

Returns the arc cosine of `X` in radians.

asinh(X)

Returns the inverse hyperbolic sine of `X`.

atan2(Y, X)

Returns the arc tangent of `Y`/`X` in radians, using the signs of both arguments to determine the quadrant of the return value.

atan(X)

Returns the arc tangent of `X` in radians.

atanh(X)

Returns the inverse hyperbolic tangent of `X`.

ceil(X)

Returns the ceiling of `X`.

cos(X)

Returns the cosine of `X` in radians.

cosh(X)

Returns the hyperbolic cosine of `X`.

erf(X)

Returns the error function of `X`.

erfc(X)

Returns `1.0` - `erf(X)`, computed using methods that avoid cancellation for large `X`.

exp(X)

Returns e raised to the power of `X`.

floor(X)

Returns the floor of `X`.

fmod(X, Y)

Returns the floating point remainder `X` divided by `Y`.

log2(X)

Returns logarithm of `X` to base 2.

log10(X)

Returns logarithm of `X` to base 10.

log(X)

Returns the natural logarithm of `X`.

pi()

Returns the ratio of the circumference of a circle to its diameter.

pow(X, N)

Raise `X` to the power `N`.

sin(X)

Returns the sine of `X` in radians.

sinh(X)

Returns the hyperbolic sine of `X`.

sqrt(X)

Returns the non-negative square root of `X`.

tan(X)

Returns the tangent of `X` in radians.

tanh(X)

Returns the hyperbolic tangent of `X`.

tau()

Returns the ratio of the circumference of a circle to its radius.

## Functions

# acos(X)

    -spec acos(X) -> float() when X :: number().

Returns the arc cosine of `X` in radians.

## Examples

    1> math:acos(1.0).
    0.0

# acosh(X)

    -spec acosh(X) -> float() when X :: number().

Returns the inverse hyperbolic cosine of `X`.

## Examples

    1> math:acosh(1.0).
    0.0

# asin(X)

    -spec asin(X) -> float() when X :: number().

Returns the arc cosine of `X` in radians.

## Examples

    1> math:asin(0.0).
    0.0

# asinh(X)

    -spec asinh(X) -> float() when X :: number().

Returns the inverse hyperbolic sine of `X`.

## Examples

    1> math:asinh(0.0).
    0.0

# atan2(Y, X)

    -spec atan2(Y, X) -> float() when Y :: number(), X :: number().

Returns the arc tangent of `Y`/`X` in radians, using the signs of both arguments to determine the quadrant of the return value.

## Examples

    1> math:atan2(0.0, -10.0).
    3.141592653589793

# atan(X)

    -spec atan(X) -> float() when X :: number().

Returns the arc tangent of `X` in radians.

## Examples

    1> math:atan(0.0).
    0.0

# atanh(X)

    -spec atanh(X) -> float() when X :: number().

Returns the inverse hyperbolic tangent of `X`.

## Examples

    1> math:atanh(0.0).
    0.0

# ceil(X)

(since OTP 20.0)

    -spec ceil(X) -> float() when X :: number().

Returns the ceiling of `X`.

## Examples

    1> math:ceil(7.5).
    8.0
    2> math:ceil(-5.5).
    -5.0
    3> math:ceil(1.0).
    1.0

# cos(X)

    -spec cos(X) -> float() when X :: number().

Returns the cosine of `X` in radians.

## Examples

    1> math:cos(0.0)
    1.0

# cosh(X)

    -spec cosh(X) -> float() when X :: number().

Returns the hyperbolic cosine of `X`.

## Examples

    1> math:cosh(0.0)
    1.0

# erf(X)

    -spec erf(X) -> float() when X :: number().

Returns the error function of `X`.

See Error function (Wikipedia).

## Examples

    1> math:erf(0.0).
    0.0
    2> math:erf(10.0).
    1.0

# erfc(X)

    -spec erfc(X) -> float() when X :: number().

Returns `1.0` - `erf(X)`, computed using methods that avoid cancellation for large `X`.

## Examples

    1> math:erfc(0.0).
    1.0

# exp(X)

    -spec exp(X) -> float() when X :: number().

Returns e raised to the power of `X`.

## Examples

    1> math:exp(0).
    1.0
    2> trunc(100 * math:exp(1)).
    271

# floor(X)

(since OTP 20.0)

    -spec floor(X) -> float() when X :: number().

Returns the floor of `X`.

## Examples

    1> math:floor(9.1).
    9.0
    2> math:floor(-1.5).
    -2.0
    3> math:floor(1.0)
    1.0

# fmod(X, Y)

(since OTP 20.0)

    -spec fmod(X, Y) -> float() when X :: number(), Y :: number().

Returns the floating point remainder `X` divided by `Y`.

## Examples

    1> math:fmod(10.5, 8.0).
    2.5

# log2(X)

(since OTP 18.0)

    -spec log2(X) -> float() when X :: number().

Returns logarithm of `X` to base 2.

## Examples

    1> math:log2(1.0).
    0.0
    2> math:log2(2.0).
    1.0
    3> math:log2(64).
    6.0

# log10(X)

    -spec log10(X) -> float() when X :: number().

Returns logarithm of `X` to base 10.

## Examples

    1> math:log10(1.0).
    0.0
    2> math:log10(10.0).
    1.0
    3> math:log10(100).
    2.0

# log(X)

    -spec log(X) -> float() when X :: number().

Returns the natural logarithm of `X`.

## Examples

    1> math:log(1.0).
    0.0
    2> math:log(2.718281828459045).
    1.0

# pi()

    -spec pi() -> float().

Returns the ratio of the circumference of a circle to its diameter.

## Examples

    1> math:pi().
    3.141592653589793

# pow(X, N)

    -spec pow(X, N) -> float() when X :: number(), N :: number().

Raise `X` to the power `N`.

## Examples

    1> math:pow(2, 6).
    64.0
    2> math:pow(10.0, 3.0).
    1000.0

# sin(X)

    -spec sin(X) -> float() when X :: number().

Returns the sine of `X` in radians.

## Examples

    1> math:sin(0.0)
    0.0

# sinh(X)

    -spec sinh(X) -> float() when X :: number().

Returns the hyperbolic sine of `X`.

## Examples

    1> math:sinh(0.0)
    0.0

# sqrt(X)

    -spec sqrt(X) -> float() when X :: number().

Returns the non-negative square root of `X`.

## Examples

    1> math:sqrt(2).
    1.4142135623730951
    2> math:sqrt(100.0).
    10.0

# tan(X)

    -spec tan(X) -> float() when X :: number().

Returns the tangent of `X` in radians.

## Examples

    1> math:tan(0.0)
    0.0

# tanh(X)

    -spec tanh(X) -> float() when X :: number().

Returns the hyperbolic tangent of `X`.

## Examples

    1> math:tan(0.0)
    0.0

# tau()

(since OTP 26.0)

    -spec tau() -> float().

Returns the ratio of the circumference of a circle to its radius.

This constant is equivalent to a full turn when described in radians.

## Examples

    1> math:tau().
    6.283185307179586
    2> math:tau() == 2 * math:pi().
    true