Функция pow
Возвращает x в степени exponent.
Если x имеет тип int, а exponent — неотрицательное значение типа int, результат имеет тип int; в противном случае оба аргумента сначала преобразуются в числа с плавающей точкой, а результат имеет тип double.
Для целых чисел степень всегда равна математическому результату возведения 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равно Infinity, аyотрицательно, результат равен 0.0. - если
xравно Infinity, аyположительно, результат равен Infinity. - если
xравно 0.0, аyотрицательно, результат равен Infinity. - если
xравно 0.0, аyположительно, результат равен 0.0. - если
xравно -Infinity или -0.0, аyявляется нечётным целым числом, результат равен-pow(-x ,y). - если
xравно -Infinity или -0.0, аyне является нечётным целым числом, результат совпадает сpow(-x , y). - если
yравно Infinity, а абсолютное значениеxменьше 1, результат равен 0.0. - если
yравно Infinity, аxравно -1, результат равен 1.0. - если
yравно Infinity, а абсолютное значениеxбольше 1, результат равен Infinity. - если
yравно -Infinity, результат равен1/pow(x, Infinity).
Это соответствует функции pow, определённой стандартом IEEE 754-2008.
Обратите внимание, что результат может выйти за допустимый диапазон. Если целые числа представлены 64-разрядными числами, результат типа int может быть усечён, а результат типа double может выйти за допустимый диапазон и стать положительным или отрицательным значением 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.19.6/dart-math/pow.html