summaryrefslogtreecommitdiff
path: root/ext/gmp/tests/gmp_gcdext.phpt
blob: 4adecf25d26b8d9b4b61dc9838fd793583bf5e6c (plain)
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
68
69
70
71
72
73
74
75
76
--TEST--
gmp_gcdext() basic tests
--SKIPIF--
<?php if (!extension_loaded("gmp")) print "skip";
?>
--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));
}

var_dump(gmp_gcdext($val[0],array()));
var_dump(gmp_gcdext(array(),array()));
var_dump(gmp_gcdext(array(),array(),1));
var_dump(gmp_gcdext(array()));
var_dump(gmp_gcdext());

echo "Done\n";
?>
--EXPECTF--
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"

Warning: gmp_gcdext(): Unable to convert variable to GMP - wrong type in %s on line %d
bool(false)

Warning: gmp_gcdext(): Unable to convert variable to GMP - wrong type in %s on line %d
bool(false)

Warning: gmp_gcdext() expects exactly 2 parameters, 3 given in %s on line %d
NULL

Warning: gmp_gcdext() expects exactly 2 parameters, 1 given in %s on line %d
NULL

Warning: gmp_gcdext() expects exactly 2 parameters, 0 given in %s on line %d
NULL
Done