class Math
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 NEGATIVEINFINITY, POSITIVE_INFINITY or NaN.
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]
Represents the ratio of the circumference of a circle to its diameter,
specified by the constant, π. PI
is approximately 3.141592653589793.
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.
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 acos(v:Float): Float
Returns the trigonometric arc cosine of the specified angle v
,
in radians.
If v
is NaN or infinite, the result is NaN.
static function asin(v:Float): Float
Returns the trigonometric arc of the specified angle v
, in radians.
If v
is NaN or infinite, the result is NaN.
static function atan(v:Float): Float
Returns the trigonometric arc tangent of the specified angle v
,
in radians.
If v
is NaN or infinite, the result is NaN.
static function atan2(y:Float, x:Float): Float
Returns the trigonometric arc tangent whose tangent is the quotient of two specified numbers, in radians.
If parameter x
or y
is NaN, NEGATIVEINFINITY or POSITIVEINFINITY,
the result is NaN.
static function ceil(v:Float): Int
Returns the smallest integer 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.
static function cos(v:Float): Float
Returns the trigonometric cosine of the specified angle v
, in 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 fceil(v:Float): Float
Returns the smallest integer value that is not less than v
, as a Float.
If v
is is NaN, NEGATIVEINFINITY or POSITIVEINFINITY,
the result is unspecified.
static function ffloor(v:Float): Float
Returns the largest integer value that is not greater than v
, as a Float.
If v
is is NaN, NEGATIVEINFINITY or POSITIVEINFINITY,
the result is unspecified.
static function floor(v:Float): Int
Returns the largest integer 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.
static function fround(v:Float): Float
Rounds v
to the nearest integer value, as a Float.
If v
is is NaN, NEGATIVEINFINITY or POSITIVEINFINITY,
the result is unspecified.
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
.
This is the mathematical inverse operation of exp,
i.e. log(exp(v)) == v
always holds.
If v
is negative (including NEGATIVEINFINITY) or NaN, the result
is NaN.
If v
is POSITIVEINFINITY, the result is POSITIVEINFINITY.
If v
is 0.0, the result is NEGATIVEINFINITY.
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 pow(v:Float, exp:Float): Float
Returns a specified base v
raised to the specified power exp
.
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 integer value.
If v
is outside of the signed Int32 range, or is NaN, NEGATIVEINFINITY
or POSITIVEINFINITY, the result is unspecified.
static function sin(v:Float): Float
Returns the trigonometric sine of the specified angle v
, in radians.
If v
is NaN or infinite, the result is NaN.