#22988 [Fbk->Opn]: I'm feeling lucky - rand() bug
| From: | vakmajom at freemail dot hu | Date: | Tue, 01 Apr 2003 13:59:50 +0000 |
| Subject: | #22988 [Fbk->Opn]: I'm feeling lucky - rand() bug | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-36914@lists.php.net to get a copy of this message | ||
ID: 22988
User updated by: vakmajom at freemail dot hu
Reported By: vakmajom at freemail dot hu
-Status: Feedback
+Status: Open
Bug Type: Math related
Operating System: Windows 2000
PHP Version: 4.3.2RC1
New Comment:
The same case. Only even numbers.
And a new rand() bug has also appeared:
Without srand(microtime()*100000), always the same 10-20 numbers are
returned. You should try this bug after the restart of Apache, to be
sure that none of the php scripts called srand() before.
Previous Comments:
------------------------------------------------------------------------
[2003-03-31 17:49:50] sniper@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
------------------------------------------------------------------------
[2003-03-31 15:22:49] pollita@php.net
This is being caused by a carryover (2147483647 + 1 == -2147483648).
The short answer is: "If it hurts, don't do it!"
Of course that's not a proper answer. The API Macro could probably use
some tweaking...
------------------------------------------------------------------------
[2003-03-31 12:36:52] vakmajom at freemail dot hu
The function rand() always returns an even number!
This bug appears when the parameters of rand() are near to the limits
of int (i.e. 2147483647)
Example:
<?php
echo(rand(1, 2147483647));
?>
Result: always an even number.
I'm using Apache 2.0.44 with PHP4.3.2RC1 (original Win32 binary) as an
apache module.
Tests with different systems:
Maybe this is a Windows bug, it still exists in Windows .Net server
build 3718 with PHP 4.3.0 RC3
But everything is fine on a unix system with PHP 4.1.0
Strange... :))
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=22988&edit=1