Pseudo-random numbers/Xorshift star: Difference between revisions

→‎{{header|Factor}}: restrict seed to positive integers
(Realize in F#)
(→‎{{header|Factor}}: restrict seed to positive integers)
Line 118:
CONSTANT: const 0x2545F4914F6CDD1D
 
! Restrict seed value to positive integers.
TUPLE: xorshift* state ;
PREDICATE: positive < integer 0 > ;
ERROR: seed-nonpositive seed ;
 
TUPLE: xorshift* { state positive initial: 1 } ;
 
: <xorshift*> ( seed -- xorshift* )
dup positive? [ seed-nonpositive ] unless
mask64 bitand xorshift* boa ;
 
1,808

edits