This class defines mathematical functions and constants.

### Static variables

`staticread onlyNEGATIVE_INFINITY:Float`

*Available on Linux, Android, Windows, iOS, Flash, Neko, macOS*

A special `Float`

constant which denotes negative infinity.

For example, this is the result of -1.0 / 0.0.

Operations with `NEGATIVE_INFINITY`

as an operand may result in
`NEGATIVE_INFINITY`

, `POSITIVE_INFINITY`

or `NaN`

.

If this constant is converted to an `Int`

, e.g. through `Std.int()`

, the
result is unspecified.

*Available on Linux, Android, Windows, iOS, Flash, Neko, macOS*

A special `Float`

constant which denotes an invalid number.

NaN stands for "Not a Number". It occurs when a mathematically incorrect operation is executed, such as taking the square root of a negative number: Math.sqrt(-1).

All further operations with `NaN`

as an operand will result in `NaN`

.

If this constant is converted to an `Int`

, e.g. through `Std.int()`

, the
result is unspecified.

In order to test if a value is `NaN`

, you should use `Math.isNaN()`

function.

@php In PHP versions prior to 5.3.1 VC 9 there may be unexpected
results when performing arithmetic operations with `NaN`

on Windows,
see [https://bugs.php.net/bug.php?id=42143]

Represents the ratio of the circumference of a circle to its diameter,
specified by the constant, π. `PI`

is approximately 3.141592653589793.

`staticread onlyPOSITIVE_INFINITY:Float`

*Available on Linux, Android, Windows, iOS, Flash, Neko, macOS*

A special `Float`

constant which denotes negative infinity.

For example, this is the result of 1.0 / 0.0.

Operations with `POSITIVE_INFINITY`

as an operand may result in
`NEGATIVE_INFINITY`

, `POSITIVE_INFINITY`

or `NaN`

.

If this constant is converted to an `Int`

, e.g. through `Std.int()`

, the
result is unspecified.

### Static methods

Returns the absolute value of `v`

.

If `v`

is positive or 0, the result is unchanged. Otherwise the result
is -`v`

.

If `v`

is `NEGATIVE_INFINITY`

or `POSITIVE_INFINITY`

, the result is
`POSITIVE_INFINITY`

.

If `v`

is `NaN`

, the result is `NaN`

.

Returns the trigonometric arc cosine of the specified angle `v`

,
in radians.

If `v`

is `NaN`

or infinite, the result is `NaN`

.

*Available on Linux, Android, Windows, iOS, Flash, macOS*

Returns the trigonometric arc of the specified angle `v`

, in radians.

If `v`

is `NaN`

or infinite, the result is `NaN`

.

*Available on Linux, Android, Windows, iOS, Flash, macOS*

Returns the trigonometric arc tangent of the specified angle `v`

,
in radians.

If `v`

is `NaN`

or infinite, the result is `NaN`

.

`staticatan2 (y:Float, x:Float):Float`

*Available on Linux, Android, Windows, iOS, Flash, macOS*

Returns the trigonometric arc tangent whose tangent is the quotient of two specified numbers, in radians.

If parameter `x`

or `y`

is `NaN`

, `NEGATIVE_INFINITY`

or `POSITIVE_INFINITY`

,
the result is `NaN`

.

Returns the smallest integer value that is not less than `v`

.

If `v`

is outside of the signed `Int32`

range, or is `NaN`

, `NEGATIVE_INFINITY`

or `POSITIVE_INFINITY`

, the result is unspecified.

Returns the trigonometric cosine of the specified angle `v`

, in radians.

If `v`

is `NaN`

or infinite, the result is `NaN`

.

*Available on Linux, Android, Windows, iOS, Flash, macOS*

Returns Euler's number, raised to the power of `v`

.

exp(1.0) is approximately 2.718281828459.

If `v`

is `POSITIVE_INFINITY`

, the result is `POSITIVE_INFINITY`

.
If `v`

is `NEGATIVE_INFINITY`

, the result is `0.0`

.
If `v`

is `NaN`

, the result is `NaN`

.

*Available on Linux, Android, Windows, iOS, Flash, macOS*

Returns the smallest integer value that is not less than `v`

, as a `Float`

.

If `v`

is is `NaN`

, `NEGATIVE_INFINITY`

or `POSITIVE_INFINITY`

,
the result is unspecified.

*Available on Linux, Android, Windows, iOS, Flash, macOS*

Returns the largest integer value that is not greater than `v`

, as a `Float`

.

If `v`

is is `NaN`

, `NEGATIVE_INFINITY`

or `POSITIVE_INFINITY`

,
the result is unspecified.

Returns the largest integer value that is not greater than `v`

.

If `v`

is outside of the signed `Int32`

range, or is `NaN`

, `NEGATIVE_INFINITY`

or `POSITIVE_INFINITY`

, the result is unspecified.

*Available on Linux, Android, Windows, iOS, Flash, macOS*

Rounds `v`

to the nearest integer value, as a Float.

If `v`

is is `NaN`

, `NEGATIVE_INFINITY`

or `POSITIVE_INFINITY`

,
the result is unspecified.

*Available on Linux, Android, Windows, iOS, Flash, Neko, macOS*

Tells if `f`

is a finite number.

If `f`

is `POSITIVE_INFINITY`

, `NEGATIVE_INFINITY`

or `NaN`

, the result
is `false`

, otherwise the result is `true`

.

*Available on Linux, Android, Windows, iOS, Flash, Neko, macOS*

Tells if `f`

is not a valid number.

If `f`

is `NaN`

, the result is `true`

, otherwise the result is `false`

.
In particular, both `POSITIVE_INFINITY`

and `NEGATIVE_INFINITY`

are
not considered `NaN`

.

*Available on Linux, Android, Windows, iOS, Flash, HTML5, macOS*

Returns the natural logarithm of `v`

.

This is the mathematical inverse operation of exp,
i.e. `log(exp(v)) == v`

always holds.

If `v`

is negative (including `NEGATIVE_INFINITY`

) or `NaN`

, the result
is `NaN`

.
If `v`

is `POSITIVE_INFINITY`

, the result is `POSITIVE_INFINITY`

.
If `v`

is `0.0`

, the result is `NEGATIVE_INFINITY`

.

`staticmax (a:Float, b:Float):Float`

*Available on Linux, Android, Windows, iOS, Flash, macOS*

Returns the greater of values `a`

and `b`

.

If `a`

or `b`

are `NaN`

, the result is `NaN`

.
If `a`

or `b`

are `POSITIVE_INFINITY`

, the result is `POSITIVE_INFINITY`

.
If `a`

and `b`

are `NEGATIVE_INFINITY`

, the result is `NEGATIVE_INFINITY`

.

`staticmin (a:Float, b:Float):Float`

*Available on Linux, Android, Windows, iOS, Flash, macOS*

Returns the smaller of values `a`

and `b`

.

If `a`

or `b`

are `NaN`

, the result is `NaN`

.
If `a`

or `b`

are `NEGATIVE_INFINITY`

, the result is `NEGATIVE_INFINITY`

.
If `a`

and `b`

are `POSITIVE_INFINITY`

, the result is `POSITIVE_INFINITY`

.

Rounds `v`

to the nearest integer value.

If `v`

is outside of the signed `Int32`

range, or is `NaN`

, `NEGATIVE_INFINITY`

or `POSITIVE_INFINITY`

, the result is unspecified.

Returns the trigonometric sine of the specified angle `v`

, in radians.

If `v`

is `NaN`

or infinite, the result is `NaN`

.