## Package kotlin.math

Mathematical functions and constants.

The functions include trigonometric, hyperbolic, exponentiation and power, logarithmic, rounding, sign and absolute value.

### Properties

Common
JVM
JS
Native
1.2

#### absoluteValue

Returns the absolute value of this value.

`val Double.absoluteValue: Double`
`val Float.absoluteValue: Float`
`val Int.absoluteValue: Int`
`val Long.absoluteValue: Long`
Common
JVM
JS
Native
1.2

#### E

Base of the natural logarithms, approximately 2.71828.

`const val E: Double`
Common
JVM
JS
Native
1.2

#### PI

Ratio of the circumference of a circle to its diameter, approximately 3.14159.

`const val PI: Double`
Common
JVM
JS
Native
1.2

#### sign

Returns the sign of this value:

`val Double.sign: Double`
`val Float.sign: Float`
`val Int.sign: Int`
`val Long.sign: Int`

#### ulp

Common
JVM
JS
Native
1.2

Returns the ulp (unit in the last place) of this value.

`val Double.ulp: Double`
JVM
Native
1.2

Returns the ulp of this value.

`val Float.ulp: Float`

### Functions

Common
JVM
JS
Native
1.2

#### abs

Returns the absolute value of the given value x.

`fun abs(x: Double): Double`
`fun abs(x: Float): Float`

Returns the absolute value of the given value n.

`fun abs(n: Int): Int`
`fun abs(n: Long): Long`
Common
JVM
JS
Native
1.2

#### acos

Computes the arc cosine of the value x; the returned value is an angle in the range from `0.0` to `PI` radians.

`fun acos(x: Double): Double`
`fun acos(x: Float): Float`
Common
JVM
JS
Native
1.2

#### acosh

Computes the inverse hyperbolic cosine of the value x.

`fun acosh(x: Double): Double`
`fun acosh(x: Float): Float`
Common
JVM
JS
Native
1.2

#### asin

Computes the arc sine of the value x; the returned value is an angle in the range from `-PI/2` to `PI/2` radians.

`fun asin(x: Double): Double`
`fun asin(x: Float): Float`
Common
JVM
JS
Native
1.2

#### asinh

Computes the inverse hyperbolic sine of the value x.

`fun asinh(x: Double): Double`
`fun asinh(x: Float): Float`
Common
JVM
JS
Native
1.2

#### atan

Computes the arc tangent of the value x; the returned value is an angle in the range from `-PI/2` to `PI/2` radians.

`fun atan(x: Double): Double`
`fun atan(x: Float): Float`
Common
JVM
JS
Native
1.2

#### atan2

Returns the angle `theta` of the polar coordinates `(r, theta)` that correspond to the rectangular coordinates `(x, y)` by computing the arc tangent of the value y / x; the returned value is an angle in the range from `-PI` to `PI` radians.

`fun atan2(y: Double, x: Double): Double`
`fun atan2(y: Float, x: Float): Float`
Common
JVM
JS
Native
1.2

#### atanh

Computes the inverse hyperbolic tangent of the value x.

`fun atanh(x: Double): Double`
`fun atanh(x: Float): Float`
Common
JVM
JS
Native
1.2

#### ceil

Rounds the given value x to an integer towards positive infinity.

`fun ceil(x: Double): Double`
`fun ceil(x: Float): Float`
Common
JVM
JS
Native
1.2

#### cos

Computes the cosine of the angle x given in radians.

`fun cos(x: Double): Double`
`fun cos(x: Float): Float`
Common
JVM
JS
Native
1.2

#### cosh

Computes the hyperbolic cosine of the value x.

`fun cosh(x: Double): Double`
`fun cosh(x: Float): Float`
Common
JVM
JS
Native
1.2

#### exp

Computes Euler's number `e` raised to the power of the value x.

`fun exp(x: Double): Double`
`fun exp(x: Float): Float`
Common
JVM
JS
Native
1.2

#### expm1

Computes `exp(x) - 1`.

`fun expm1(x: Double): Double`
`fun expm1(x: Float): Float`
Common
JVM
JS
Native
1.2

#### floor

Rounds the given value x to an integer towards negative infinity.

`fun floor(x: Double): Double`
`fun floor(x: Float): Float`
Common
JVM
JS
Native
1.2

#### hypot

Computes `sqrt(x^2 + y^2)` without intermediate overflow or underflow.

`fun hypot(x: Double, y: Double): Double`
`fun hypot(x: Float, y: Float): Float`
JVM
Native
1.2

#### IEEErem

Computes the remainder of division of this value by the divisor value according to the IEEE 754 standard.

`fun Double.IEEErem(divisor: Double): Double`
`fun Float.IEEErem(divisor: Float): Float`
Common
JVM
JS
Native
1.2

#### ln

Computes the natural logarithm (base `E`) of the value x.

`fun ln(x: Double): Double`
`fun ln(x: Float): Float`
Common
JVM
JS
Native
1.2

#### ln1p

Computes `ln(x + 1)`.

`fun ln1p(x: Double): Double`

Computes `ln(a + 1)`.

`fun ln1p(x: Float): Float`
Common
JVM
JS
Native
1.2

#### log

Computes the logarithm of the value x to the given base.

`fun log(x: Double, base: Double): Double`
`fun log(x: Float, base: Float): Float`
Common
JVM
JS
Native
1.2

#### log10

Computes the common logarithm (base 10) of the value x.

`fun log10(x: Double): Double`
`fun log10(x: Float): Float`
Common
JVM
JS
Native
1.2

#### log2

Computes the binary logarithm (base 2) of the value x.

`fun log2(x: Double): Double`
`fun log2(x: Float): Float`
Common
JVM
JS
Native
1.2

#### max

Returns the greater of two values.

`fun max(a: UInt, b: UInt): UInt`
`fun max(a: ULong, b: ULong): ULong`
`fun max(a: Double, b: Double): Double`
`fun max(a: Float, b: Float): Float`
`fun max(a: Int, b: Int): Int`
`fun max(a: Long, b: Long): Long`
Common
JVM
JS
Native
1.2

#### min

Returns the smaller of two values.

`fun min(a: UInt, b: UInt): UInt`
`fun min(a: ULong, b: ULong): ULong`
`fun min(a: Double, b: Double): Double`
`fun min(a: Float, b: Float): Float`
`fun min(a: Int, b: Int): Int`
`fun min(a: Long, b: Long): Long`

#### nextDown

Common
JVM
JS
Native
1.2

Returns the Double value nearest to this value in direction of negative infinity.

`fun Double.nextDown(): Double`
JVM
Native
1.2

Returns the Float value nearest to this value in direction of negative infinity.

`fun Float.nextDown(): Float`

#### nextTowards

Common
JVM
JS
Native
1.2

Returns the Double value nearest to this value in direction from this value towards the value to.

`fun Double.nextTowards(to: Double): Double`
JVM
Native
1.2

Returns the Float value nearest to this value in direction from this value towards the value to.

`fun Float.nextTowards(to: Float): Float`

#### nextUp

Common
JVM
JS
Native
1.2

Returns the Double value nearest to this value in direction of positive infinity.

`fun Double.nextUp(): Double`
JVM
Native
1.2

Returns the Float value nearest to this value in direction of positive infinity.

`fun Float.nextUp(): Float`
Common
JVM
JS
Native
1.2

#### pow

Raises this value to the power x.

`fun Double.pow(x: Double): Double`
`fun Float.pow(x: Float): Float`

Raises this value to the integer power n.

`fun Double.pow(n: Int): Double`
`fun Float.pow(n: Int): Float`
Common
JVM
JS
Native
1.2

#### round

Rounds the given value x towards the closest integer with ties rounded towards even integer.

`fun round(x: Double): Double`
`fun round(x: Float): Float`
Common
JVM
JS
Native
1.2

#### roundToInt

Rounds this Double value to the nearest integer and converts the result to Int. Ties are rounded towards positive infinity.

`fun Double.roundToInt(): Int`

Rounds this Float value to the nearest integer and converts the result to Int. Ties are rounded towards positive infinity.

`fun Float.roundToInt(): Int`
Common
JVM
JS
Native
1.2

#### roundToLong

Rounds this Double value to the nearest integer and converts the result to Long. Ties are rounded towards positive infinity.

`fun Double.roundToLong(): Long`

Rounds this Float value to the nearest integer and converts the result to Long. Ties are rounded towards positive infinity.

`fun Float.roundToLong(): Long`
Common
JVM
JS
Native
1.2

#### sign

Returns the sign of the given value x:

`fun sign(x: Double): Double`
`fun sign(x: Float): Float`
Common
JVM
JS
Native
1.2

#### sin

Computes the sine of the angle x given in radians.

`fun sin(x: Double): Double`
`fun sin(x: Float): Float`
Common
JVM
JS
Native
1.2

#### sinh

Computes the hyperbolic sine of the value x.

`fun sinh(x: Double): Double`
`fun sinh(x: Float): Float`
Common
JVM
JS
Native
1.2

#### sqrt

Computes the positive square root of the value x.

`fun sqrt(x: Double): Double`
`fun sqrt(x: Float): Float`
Common
JVM
JS
Native
1.2

#### tan

Computes the tangent of the angle x given in radians.

`fun tan(x: Double): Double`
`fun tan(x: Float): Float`
Common
JVM
JS
Native
1.2

#### tanh

Computes the hyperbolic tangent of the value x.

`fun tanh(x: Double): Double`
`fun tanh(x: Float): Float`
Common
JVM
JS
Native
1.2

#### truncate

Rounds the given value x to an integer towards zero.

`fun truncate(x: Double): Double`
`fun truncate(x: Float): Float`
Common
JVM
JS
Native
1.2

#### withSign

Returns this value with the sign bit same as of the sign value.

`fun Double.withSign(sign: Double): Double`
`fun Double.withSign(sign: Int): Double`
`fun Float.withSign(sign: Float): Float`
`fun Float.withSign(sign: Int): Float`