Функция pow
num 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 Standard 754-2008.
Обратите внимание, что целочисленный результат не может переполниться, но результат с плавающей точкой двойной точности может быть 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/1.24.3/dart-math/pow.html