class Math
Available on all platforms
This class defines mathematical functions and constants.
Class Fields
static var NEGATIVE_INFINITY:Float
A special Float constant which denotes negative infinity.
For example, this is the result of -1.0 / 0.0.
Operations with NEGATIVEINFINITY as an operand may result in Operations with NEGATIVEINFINITY as an operand may result in NEGATIVEINFINITY, POSITIVEINFINITY or NaN. For detailed information, see ...
If this constant is converted to an Int, e.g. through Std.int(), the result is unspecified.
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
static var POSITIVE_INFINITY:Float
A special Float constant which denotes negative infinity.
For example, this is the result of 1.0 / 0.0.
Operations with POSITIVEINFINITY as an operand may result in NEGATIVEINFINITY, POSITIVE_INFINITY or NaN. For detailed information, see ...
If this constant is converted to an Int, e.g. through Std.int(), the result is unspecified.
static function abs(v:Float):Float
Returns the absolute value of v
.
If v
is positive or 0, the result is unchanged. Otherwise the result
is -v
.
If v
is NEGATIVEINFINITY or POSITIVEINFINITY, the result is
POSITIVE_INFINITY.
If v
is NaN, the result is NaN.
static function ceil(v:Float):Int
Returns the smallest Int value that is not less than v
.
If v is outside of the signed Int32 range, or is NaN, NEGATIVEINFINITY or POSITIVEINFINITY, the result is unspecified.
TODO: need spec
static function cos(v:Float):Float
Returns the trigonometric cosine of v
.
The unit of v
is radians.
If v
is NaN or infinite, the result is NaN.
static function exp(v:Float):Float
Returns Euler's number, raised to the power of v
.
exp(1.0) is approximately 2.718281828459.
If v
is POSITIVEINFINITY, the result is POSITIVEINFINITY.
If v
is NEGATIVE_INFINITY, the result is 0.0.
If v
is NaN, the result is NaN.
static function floor(v:Float):Int
Returns the largest Int value that is not greater than v
.
If v is outside of the signed Int32 range, or is NaN, NEGATIVEINFINITY or POSITIVEINFINITY, the result is unspecified.
TODO: need spec
static function isFinite(f:Float):Bool
Tells if f
is a finite number.
If f
is POSITIVEINFINITY, NEGATIVEINFINITY or NaN, the result is
false.
Otherwise the result is true.
static function isNaN(f:Float):Bool
Tells if f
is not a valid number.
If f
is NaN, the result is true.
Otherwise the result is false. In particular, both POSITIVEINFINITY and NEGATIVEINFINITY are not considered NaN.
static function log(v:Float):Float
Returns the natural logarithm of v
.
If v
is negative (including NEGATIVE_INFINITY) or NaN, the result is
NaN.
If v
is POSITIVEINFINITY, the result is POSITIVEINFINITY.
If v
is 0.0, the result is NEGATIVE_INFINITY.
This is the inverse operation of exp, i.e. log(exp(v)) == v always holds.
static function max(a:Float, b:Float):Float
Returns the greater of values a
and b
.
If a
or b
are NaN, the result is NaN.
If a
or b
are POSITIVEINFINITY, the result is POSITIVEINFINITY.
If a
and b
are NEGATIVEINFINITY, the result is NEGATIVEINFINITY.
static function min(a:Float, b:Float):Float
Returns the smaller of values a
and b
.
If a
or b
are NaN, the result is NaN.
If a
or b
are NEGATIVEINFINITY, the result is NEGATIVEINFINITY.
If a
and b
are POSITIVEINFINITY, the result is POSITIVEINFINITY.
static function random():Float
Returns a pseudo-random number which is greater than or equal to 0.0, and less than 1.0.
static function round(v:Float):Int
Rounds v
to the nearest Int value.
If v is outside of the signed Int32 range, or is NaN, NEGATIVEINFINITY or POSITIVEINFINITY, the result is unspecified.
TODO: need spec
static function sin(v:Float):Float
Returns the trigonometric sine of v
.
The unit of v
is radians.
If v
is NaN or infinite, the result is NaN.