(PHP 5, PHP 7, PHP 8)
bcpowmod — Возводит число произвольной точности в степень и делит результат возведения в степень на модуль числа
   Функция возводит число num
   в степень exponent методом быстрого возведения в степень
   и возвращает остаток от деления степени числа на модуль числа в аргументе modulus.
  
numОснование степени в виде строки с целым числом, без дробной части.
exponentПоказатель степени в виде строки с неотрицательным целым числом, без дробной части.
modulusНеполное кратное в виде строки с целым числом, без дробной части.
scalenull, то по умолчанию будет установлен масштаб по умолчанию,
       заданный с помощью функции bcscale() или значение INI-директивы
       bcmath.scale.
      
     Функция возвращает результат в виде строки.
Функция выбрасывает ошибку ValueError в следующих случаях:
num, exponent или modulus
     оказалось строкой, которую сформировали неправильно с точки зрения допустимого формата числовых строк в модуле BCMath.
    num, exponent или modulus
     содержит дробную часть.
    exponent передали отрицательное значение.
    scale выходит за пределы допустимого диапазона.
    
   Функция выбрасывает ошибку DivisionByZeroError,
   если значение аргумента modulus равняется 0.
  
| Версия | Описание | 
|---|---|
| 8.0.0 | Параметр scaleтеперь принимает значениеnull. | 
| 8.0.0 | Функция теперь выбрасывает ошибку ValueError вместо возврата значения false,
       если показатель степениexponentоказался отрицательным значением. | 
| 8.0.0 | Деление на 0теперь выбрасывает ошибку DivisionByZeroError
       вместо возврата значенияfalse. | 
Следующие выражения дают одинаковый результат. Однако функция bcpowmod() работает быстрее и принимает бо́льшие значения аргументов.
<?php
$a = bcpowmod($x, $y, $mod);
$b = bcmod(bcpow($x, $y), $mod);
// $a == $b
?>Замечание:
Поскольку функция выполняет операцию взятия остатка, отрицательные числа иногда дают неожиданные результаты.
