(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
gmp_invert — Inverse by modulo
Computes the inverse of num1 modulo
num2.
num1
A GMP object, an int ,
or a string that can be interpreted as a number following the same logic
as if the string was used in gmp_init() with automatic
base detection (i.e. when base is equal to 0).
num2
A GMP object, an int ,
or a string that can be interpreted as a number following the same logic
as if the string was used in gmp_init() with automatic
base detection (i.e. when base is equal to 0).
A GMP number on success or false if an inverse does not exist.
Example #1 gmp_invert() example
<?php
echo gmp_invert("5", "10"); // no inverse, outputs nothing, result is FALSE
$invert = gmp_invert("5", "11");
echo gmp_strval($invert) . "\n";
?>The above example will output:
9
Example #2 gmp_invert() example
<?php
echo gmp_invert("5", "10"); // no inverse, outputs nothing, result is FALSE
It means (5 * x ) mod 10 = 1. And with this function we want a value for x, because of mod 10, x should be {1.. 10-1(9)}, so :
5 * 1 mod 10 = 5
5 * 2 mod 10 = 0
5 * 3 mod 10 = 5
5 * 4 mod 10 = 0
5 * 5 mod 10 = 5
5 * 6 mod 10 = 0
5 * 7 mod 10 = 5
5 * 8 mod 10 = 0
5 * 9 mod 10 = 5
We don't have any 1 in the results. so it will be False.
$invert = gmp_invert("5", "11");
echo gmp_strval($invert) . "\n";
?>
The above example will output:
9
5 * 9 mod 11 = 1