Update PRNG documentation.
authorBen Pfaff <blp@gnu.org>
Wed, 17 Nov 2004 07:49:12 +0000 (07:49 +0000)
committerBen Pfaff <blp@gnu.org>
Wed, 17 Nov 2004 07:49:12 +0000 (07:49 +0000)
doc/expressions.texi

index 87355293e79e2e1c2e155ac8339bb1a56b2626c7..c319c9f87e5044c0dee4a36bdacb4117d2f9f29d 100644 (file)
@@ -421,35 +421,29 @@ system-missing or not missing at all.
 @cindex random numbers
 @cindex pseudo-random numbers (see random numbers)
 
-Pseudo-random number generation functions take numeric arguments and
+Pseudo-random number generation (PRNG) functions take numeric arguments and
 produce numeric results.
 
-PSPP uses the alleged RC4 cipher as a pseudo-random number generator
-(PRNG).  The bytes output by this PRNG are system-independent for a
-given random seed, but differences in endianness and floating-point
-formats will make PRNG results differ from system to system.  RC4
-should produce high-quality random numbers for simulation purposes.
-(If you're concerned about the quality of the random number generator,
-well, you're using a statistical processing package---analyze it!)
-
-PSPP's implementation of RC4 has not undergone any security auditing.
-Furthermore, various precautions that would be necessary for secure
-operation, such as secure seeding and discarding the first several
-bytes of output, have not been taken.  Therefore, PSPP's
-implementation of RC4 should not be used for security purposes.
+PSPP uses the ``Mersenne Twister'' PRNG as implemented in the GNU
+Scientific Library, specifically the @code{gsl_rng_mt19937} variant.
+This PRNG is a variant of the twisted generalized feedback
+shift-register algorithm The bytes output by this PRNG are
+system-independent for a given random seed, but differences in
+endianness and floating-point formats will make PRNG results differ
+from system to system.
 
 @cindex random numbers, normally-distributed
-@deftypefn {Function} {} NORMAL (@var{number})
+@deftypefn {Function} {} NORMAL (@var{stddev})
 Results in a random number.  Results from @code{NORMAL} are normally
-distributed with a mean of 0 and a standard deviation of @var{number}.
+distributed with a mean of 0 and a standard deviation of @var{stddev}.
 @end deftypefn
 
 @cindex random numbers, uniformly-distributed
-@deftypefn {Function} {} UNIFORM (@var{number})
-Results in a random number between 0 and @var{number}.  Results from
-@code{UNIFORM} are evenly distributed across its entire range.  There
-may be a maximum on the largest random number ever generated---this is
-often 
+@deftypefn {Function} {} UNIFORM (@var{max})
+Results in a random number in the half-open interval [0,@var{max}).
+Results from @code{UNIFORM} are evenly distributed across its entire
+range.  There may be a maximum on the largest random number ever
+generated---this is often
 @ifinfo 
 2**31-1 
 @end ifinfo