Returns x
to the power of exponent
.
If x
is an int and exponent
is a non-negative int, the result is an int, otherwise both arguments are converted to doubles first, and the result is a double.
For integers, the power is always equal to the mathematical result of x
to the power exponent
, only limited by the available memory.
For doubles, pow(x, y)
handles edge cases as follows:
y
is zero (0.0 or -0.0), the result is always 1.0.x
is 1.0, the result is always 1.0.x
or y
is NaN then the result is NaN.x
is negative (but not -0.0) and y
is a finite non-integer, the result is NaN.x
is Infinity and y
is negative, the result is 0.0.x
is Infinity and y
is positive, the result is Infinity.x
is 0.0 and y
is negative, the result is Infinity.x
is 0.0 and y
is positive, the result is 0.0.x
is -Infinity or -0.0 and y
is an odd integer, then the result is -pow(-x ,y)
.x
is -Infinity or -0.0 and y
is not an odd integer, then the result is the same as pow(-x , y)
.y
is Infinity and the absolute value of x
is less than 1, the result is 0.0.y
is Infinity and x
is -1, the result is 1.0.y
is Infinity and the absolute value of x
is greater than 1, the result is Infinity.y
is -Infinity, the result is 1/pow(x, Infinity)
.This corresponds to the pow
function defined in the IEEE Standard 754-2008.
Notice that an int result cannot overflow, but a double result might be double.infinity.
external num pow(num x, num exponent);
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/2.0.0/dart-math/pow.html