xor-prng

Provides basic pseudo random number generation for 32-bit and 16-bit Forths.



variable rng-seed
62946839 rng-seed ! ( Default seed value )

( 32-bit version )
: rng ( -- n )
	rng-seed @
	dup 13 lshift xor ( For 16-bit systems 7 )
	dup 17 rshift xor ( For 16-bit systems 9 )
	dup 5  lshift xor ( For 16-bit systems 8 )
	dup rng-seed !
;
: choose ( upper-bound -- n ) rng abs swap mod ;
: coin ( -- n ) 2 choose ;

by sparkingcircuit

avatar of sparkingcircuit

Versions

1.0.0

Download current as zip

Tags

publicdomain, unlicense, prng, rng

Dependencies

None

Dependents

None