php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login

Patch gmp.patch.txt for GNU MP related Bug #62068

Patch version 2012-05-18 21:37 UTC

Return to Bug #62068 | Download this patch
Patch Revisions:

Developer: mattficken

--- a/ext/gmp/tests/022.phpt	Tue May 15 14:44:24 2012
+++ b/ext/gmp/tests/022.phpt	Fri May 18 14:27:16 2012
@@ -1,7 +1,11 @@
 --TEST--
 gmp_gcdext() basic tests
 --SKIPIF--
-<?php if (!extension_loaded("gmp")) print "skip"; ?>
+<?php if (!extension_loaded("gmp")) print "skip"; 
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+    die('skip.. only for Non Windows Systems');
+}
+?>
 --FILE--
 <?php
--- a/ext/gmp/tests/gmp_nextprime.phpt	Tue May 15 14:44:24 2012
+++ b/ext/gmp/tests/gmp_nextprime.phpt	Fri May 18 14:27:14 2012
@@ -1,7 +1,11 @@
 --TEST--
 gmp_nextprime()
 --SKIPIF--
-<?php if (!extension_loaded("gmp")) print "skip"; ?>
+<?php if (!extension_loaded("gmp")) print "skip"; 
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+    die('skip.. only for Non Windows Systems');
+}
+?>
 --FILE--
+++ b/ext/gmp/tests/022-win32.phpt	Fri May 18 14:27:16 2012
+  <?php
+ --TEST--
+ gmp_gcdext() basic tests
+ --SKIPIF--
+ <?php if (!extension_loaded("gmp")) print "skip"; 
+ if(substr(PHP_OS, 0, 3) != 'WIN' ) {
+     die('skip windows only test');
+ }
+ ?>
+ --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]);
+ 	var_dump(gmp_strval($r['g']));
+ 	var_dump(gmp_strval($r['s']));
+ 	var_dump(gmp_strval($r['t']));
+ }
+ 
+ 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(2) "41"
+ string(4) "-112"
+ string(1) "1"
+ string(4) "-805"
+ string(3) "359"
+ string(1) "3"
+ string(2) "32"
+ string(5) "-2257"
+ string(4) "3003"
+ string(3) "-10"
+ string(2) "19"
+ string(1) "2"
+ string(2) "67"
+ string(2) "-3"
+ string(2) "15"
+ string(7) "-601519"
+ string(1) "6"
+ string(3) "345"
+ string(1) "1"
+ string(1) "0"
+ string(1) "1"
+ string(5) "84319"
+ string(9) "-84241831"
+ string(1) "1"
+ string(12) "167180205823"
+ string(15) "-17856272782919"
+ string(3) "195"
+ string(15) "-23387298979862"
+ string(11) "34225091793"
+ 
+ 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
+ 
+++ b/ext/gmp/tests/gmp_nextprime-win32.phpt	Fri May 18 14:27:16 2012
+ --TEST--
+ gmp_nextprime()
+ --SKIPIF--
+ <?php if (!extension_loaded("gmp")) print "skip"; 
+ if(substr(PHP_OS, 0, 3) != 'WIN' ) {
+     die('skip windows only test');
+ }
+ ?>
+ --FILE--
+ <?php
+ 
+ $n = gmp_nextprime(-1);
+ var_dump(gmp_strval($n));
+ $n = gmp_nextprime(0);
+ var_dump(gmp_strval($n));
+ $n = gmp_nextprime(-1000);
+ var_dump(gmp_strval($n));
+ $n = gmp_nextprime(1000);
+ var_dump(gmp_strval($n));
+ $n = gmp_nextprime(100000);
+ var_dump(gmp_strval($n));
+ $n = gmp_nextprime(array());
+ var_dump(gmp_strval($n));
+ $n = gmp_nextprime("");
+ var_dump(gmp_strval($n));
+ $n = gmp_nextprime(new stdclass());
+ var_dump(gmp_strval($n));
+ 	
+ echo "Done\n";
+ ?>
+ --EXPECTF--	
+ string(1) "2"
+ string(1) "2"
+ string(4) "-997"
+ string(4) "1009"
+ string(6) "100003"
+ 
+ Warning: gmp_nextprime(): Unable to convert variable to GMP - wrong type in %s on line %d
+ string(1) "0"
+ string(1) "0"
+ 
+ Warning: gmp_nextprime(): Unable to convert variable to GMP - wrong type in %s on line %d
+ string(1) "0"
+ Done
+ 
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Oct 31 23:01:28 2024 UTC