(PHP 5)
bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
$left_operand
, string $right_operand
, string $modulus
[, int $scale
] )
Use the fast-exponentiation method to raise
left_operand
to the power
right_operand
with respect to the modulus
modulus
.
left_operand
The left operand, as a string.
right_operand
The right operand, as a string.
modulus
The modulus, as a string.
scale
This optional parameter is used to set the number of digits after the decimal place in the result. You can also set the global default scale for all functions by using bcscale().
Returns the result as a string, or NULL
if modulus
is 0.
Note:
Because this method uses the modulus operation, numbers which are not positive integers may give unexpected results.
The following two statements are functionally identical. The bcpowmod() version however, executes in less time and can accept larger parameters.
<?php
$a = bcpowmod($x, $y, $mod);
$b = bcmod(bcpow($x, $y), $mod);
// $a and $b are equal to each other.
?>