2 randbit - Blum-Blum-Shub pseudo-random number generator
13 If x > 0, randombit(x) returns a pseudo-random integer in [0, 2^x),
14 i.e. the same as rand(2^x). If the integer returned is
16 b_1 * 2^(x-1) + b_2 * 2^(x-2) + ... + b_n,
18 where each b_i is 0 or 1, then b_1, b_2, ..., b_n may be
19 considered as a sequence of x random bits.
21 If x <= 0, randombit(x) causes the random-number generator to skip
22 abs(x) bits, and returns abs(x).
24 If x is omitted, it is assumed to have the value of 1.
26 See the random() help page for details on the additive 55 shuffle
27 pseudo-random number generator.
30 ; print srandom(0), randombit(20), randombit(20), randombit(20)
31 RANDOM state 523139 567456 693508
32 ; print srandom(0), randombit(-20), randombit(20), randombit(-20)
33 RANDOM state 20 567456 20
39 void zrandom(long cnt, ZVALUE *res)
42 seed, srand, randbit, isrand, rand, srandom, israndom
44 ## Copyright (C) 1999 Landon Curt Noll
46 ## Calc is open software; you can redistribute it and/or modify it under
47 ## the terms of the version 2.1 of the GNU Lesser General Public License
48 ## as published by the Free Software Foundation.
50 ## Calc is distributed in the hope that it will be useful, but WITHOUT
51 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
52 ## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
53 ## Public License for more details.
55 ## A copy of version 2.1 of the GNU Lesser General Public License is
56 ## distributed with calc under the filename COPYING-LGPL. You should have
57 ## received a copy with calc; if not, write to Free Software Foundation, Inc.
58 ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
60 ## @(#) $Revision: 30.1 $
61 ## @(#) $Id: randombit,v 30.1 2007/03/16 11:10:42 chongo Exp $
62 ## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/randombit,v $
64 ## Under source code control: 1997/02/17 01:18:22
65 ## File existed as early as: 1997
67 ## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
68 ## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/