manpagez: man pages & more
info gawk
Home | html | info | man
File: gawk.info,  Node: Cliff Random Function,  Next: Ordinal Functions,  Prev: Round Function,  Up: General Functions

10.2.4 The Cliff Random Number Generator
----------------------------------------

The Cliff random number generator
(http://mathworld.wolfram.com/CliffRandomNumberGenerator.html) is a very
simple random number generator that "passes the noise sphere test for
randomness by showing no structure."  It is easily programmed, in less
than 10 lines of 'awk' code:

     # cliff_rand.awk --- generate Cliff random numbers

     BEGIN { _cliff_seed = 0.1 }

     function cliff_rand()
     {
         _cliff_seed = (100 * log(_cliff_seed)) % 1
         if (_cliff_seed < 0)
             _cliff_seed = - _cliff_seed
         return _cliff_seed
     }

   This algorithm requires an initial "seed" of 0.1.  Each new value
uses the current seed as input for the calculation.  If the built-in
'rand()' function (*note Numeric Functions::) isn't random enough, you
might try using this function instead.

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.