Функция pow
Возвращает x в степени exponent.
Если x — это целое число и exponent — это неотрицательное целое число, результат — целое число, в противном случае оба аргумента сначала преобразуются в числа с плавающей точкой двойной точности, а результат — число с плавающей точкой двойной точности.
Для целых чисел степень всегда равна математическому результату x в степени exponent, ограниченная только доступной памятью.
Для чисел с плавающей точкой двойной точности pow(x, y) обрабатывает граничные случаи следующим образом:
- если
yравно нулю (0,0 или -0,0), результат всегда равен 1,0. - если
xравно 1,0, результат всегда равен 1,0. - в противном случае, если любой из
xилиy— NaN, то результат — NaN. - если
xотрицательное (но не -0,0) иy— конечное нецелое число, результат — NaN. - если
x— Бесконечность, аy— отрицательное число, результат — 0,0. - если
x— Бесконечность, аy— положительное число, результат — Бесконечность. - если
x— 0,0, аy— отрицательное число, результат — Бесконечность. - если
x— 0,0, аy— положительное число, результат — 0,0. - если
x— минус Бесконечность или -0,0, аy— нечётное целое число, то результат —-pow(-x ,y). - если
x— минус Бесконечность или -0,0, аy— не нечётное целое число, то результат такой же, как уpow(-x , y). - если
y— Бесконечность, а абсолютное значениеxменьше 1, результат — 0,0. - если
y— Бесконечность, аx— -1, результат — 1,0. - если
y— Бесконечность, а абсолютное значениеxбольше 1, результат — Бесконечность. - если
y— минус Бесконечность, результат —1/pow(x, Infinity).
Это соответствует функции pow в стандарте IEEE 754-2008.
Обратите внимание, что результат может переполниться. Если целые числа представлены 64-битными числами, целое число может быть усечено, а результат с плавающей точкой двойной точности может переполниться до положительной или отрицательной double.infinity.
Реализация
external num pow(num x, num exponent);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-math/pow.html