com php-src: Test that mt_rand() consistently produce s the wrong results: ext/standard/tests/math/mt_ran d_value.phpt
| From: | Andrea Faulds | Date: | Thu, 18 Feb 2016 22:35:44 +0000 |
| Subject: | com php-src: Test that mt_rand() consistently produce s the wrong results: ext/standard/tests/math/mt_ran d_value.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-91114@lists.php.net to get a copy of this message | ||
Commit: a50c31da1917bb07b3c11f229125ab8d1f0b9b70
Author: Andrea Faulds <ajf@ajf.me> Thu, 18 Feb 2016 22:35:44 +0000
Parents: 796e1629b088cb3580650bd653b0b06d627052d7
Branches: PHP-7.0
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=a50c31da1917bb07b3c11f229125ab8d1f0b9b70
Log:
Test that mt_rand() consistently produces the wrong results
See 6f6bd8ce531636134efd5f669a4e8373fb2e9e51 and its revert,
a0724d30817600540946b41e40f4cfc2a0c30f80.
Changed paths:
A ext/standard/tests/math/mt_rand_value.phpt
Diff:
diff --git a/ext/standard/tests/math/mt_rand_value.phpt b/ext/standard/tests/math/mt_rand_value.phpt
new file mode 100644
index 0000000..772305a
--- /dev/null
+++ b/ext/standard/tests/math/mt_rand_value.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test mt_rand() output
+--FILE--
+<?php
+
+mt_srand(12345678);
+
+for ($i=0; $i<16; $i++) {
+ echo mt_rand().PHP_EOL;
+}
+echo PHP_EOL;
+
+$x = 0;
+for ($i=0; $i<1024; $i++) {
+ $x ^= mt_rand();
+}
+echo $x.PHP_EOL;
+
+/*
+ * Note that the output will be different from the original mt19937ar.c,
+ * because PHP's implementation contains a bug. Thus, this test actually
+ * checks to make sure that PHP's behaviour is wrong, but consistently so.
+ */
+
+?>
+--EXPECTF--
+1614640687
+1711027313
+857485497
+688176834
+1386682158
+412773096
+813703253
+898651287
+2087374214
+1382556330
+1640700129
+1863374167
+1324097651
+1923803667
+676334965
+853386222
+
+1571178311