note 119798 added to function.stats-rand-setall
| From: | geoffreyj dot lee at gmail dot com | Date: | Mon, 29 Aug 2016 06:37:53 +0000 |
| Subject: | note 119798 added to function.stats-rand-setall | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-206412@lists.php.net to get a copy of this message | ||
tl;dr - This random number generator is implemented using linear congruential generators. The
arguments iseed1 and iseed2 each expect a 32-bit integer.
I can't believe this PECL package has such terrible documentation that I have to dig into the C
source code to figure out how to use it.
Documentation from PECL source, lines 246-262 of "com.c" found at:
http://git.php.net/?p=pecl/math/stats.git;a=blob;f=com.c;h=7740ac636969e500254c61697125dfa8857dd715;hb=refs/heads/master
/*
**********************************************************************
void setall(long iseed1,long iseed2)
SET ALL random number generators
Sets the initial seed of generator 1 to ISEED1 and ISEED2. The
initial seeds of the other generators are set accordingly, and
all generators states are set to these seeds.
This is a transcription from Pascal to Fortran of routine
Set_Initial_Seed from the paper
L'Ecuyer, P. and Cote, S. "Implementing a Random Number Package
with Splitting Facilities." ACM Transactions on Mathematical
Software, 17:98-111 (1991)
Arguments
iseed1 -> First of two integer seeds
iseed2 -> Second of two integer seeds
**********************************************************************
*/
Looking further into the referenced paper, we see:
PROCEDURE Set_lnitiaI_Seed (S1, S2 INTEGER);
Resets the initial seed of generator 1 to the values S1 and S2, which must satisfy: 1 <= S1 <=
2147483562 and 1 <= S2 <= 2147483398. The initial seeds of all other generators are recomputed
accordingly, and all generatorâs states are reset to these initial seeds. This procedure is
called automatically at the beginning of program execution, with (default) parameter values S1 =
1234567890 and S2 = 123456789.
----
Server IP: 72.52.91.14
Probable Submitter: 76.14.61.39
----
Manual Page -- http://php.net/manual/en/function.stats-rand-setall.php
Edit -- https://master.php.net/note/edit/119798
Del: integrated -- https://master.php.net/note/delete/119798/integrated
Del: useless -- https://master.php.net/note/delete/119798/useless
Del: bad code -- https://master.php.net/note/delete/119798/bad+code
Del: spam -- https://master.php.net/note/delete/119798/spam
Del: non-english -- https://master.php.net/note/delete/119798/non-english
Del: in docs -- https://master.php.net/note/delete/119798/in+docs
Del: other reasons-- https://master.php.net/note/delete/119798
Reject -- https://master.php.net/note/reject/119798
Search -- https://master.php.net/manage/user-notes.php