bcpowmod

Raise an arbitrary precision number to another, reduced by a specified modulus

&reftitle.description; `string` `bcpowmod` `string` `num` `string` `exponent` `string` `modulus` ``int``null```scale`&null;

Use the fast-exponentiation method to raise `num` to the power `exponent` with respect to the modulus `modulus`.

&reftitle.parameters;

`num`

- The base, as an integral string (i.e. the scale has to be zero).

`exponent`

- The exponent, as an non-negative, integral string (i.e. the scale has to be zero).

`modulus`

- The modulus, as an integral string (i.e. the scale has to be zero).

&bc.scale.description;
&reftitle.returnvalues;

Returns the result as a string, or &false; if `modulus` is `0` or `exponent` is negative.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `scale` is now nullable.

&reftitle.examples;

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.

    ?>

&reftitle.notes;

Because this method uses the modulus operation, numbers which are not positive integers may give unexpected results.

&reftitle.seealso;

- `bcpow`
- `bcmod`