1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
--TEST--
gmp_gcdext() basic tests
--EXTENSIONS--
gmp
--FILE--
<?php
$n = gmp_init("34293864345");
$n1 = gmp_init("23434293864345");
$a = array(
array(123,45),
array(4341,9734),
array(23487,333),
array(-234234,-123123),
array(-100,-2234),
array(345,"34587345"),
array(345,"0"),
array("345556456",345873),
array("34545345556456","323432445873"),
array($n, $n1),
);
foreach ($a as $val) {
$r = gmp_gcdext($val[0],$val[1]);
$check = gmp_add(gmp_mul($val[0],$r['s']), gmp_mul($val[1],$r['t']));
var_dump(gmp_strval($r['g']));
var_dump(gmp_strval($check));
}
try {
var_dump(gmp_gcdext($val[0], array()));
} catch (\TypeError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(gmp_gcdext(array(), array()));
} catch (\TypeError $e) {
echo $e->getMessage() . \PHP_EOL;
}
echo "Done\n";
?>
--EXPECT--
string(1) "3"
string(1) "3"
string(1) "1"
string(1) "1"
string(1) "3"
string(1) "3"
string(4) "3003"
string(4) "3003"
string(1) "2"
string(1) "2"
string(2) "15"
string(2) "15"
string(3) "345"
string(3) "345"
string(1) "1"
string(1) "1"
string(1) "1"
string(1) "1"
string(3) "195"
string(3) "195"
gmp_gcdext(): Argument #2 ($num2) must be of type GMP|string|int, array given
gmp_gcdext(): Argument #1 ($num1) must be of type GMP|string|int, array given
Done
|