Handbook
Glossary
jump ( s0! s1! s2! s3! jump-table -- s0' s1' s2' s3' )
Vocabulary
random
.
xoshiro
Inputs
s0!
an
object
s1!
an
object
s2!
an
object
s3!
an
object
jump-table
an
object
Outputs
s0'
an
object
s1'
an
object
s2'
an
object
s3'
an
object
Definition
USING:
kernel
math
sequences
;
IN:
random.xoshiro
::
jump
( s0! s1! s2! s3! jump-table -- s0' s1' s2' s3' )
0 0 0 0
:>
( t0! t1! t2! t3! ) 4
<iota>
[
64
<iota>
[
[
jump-table
nth
]
[
1
swap
shift
]
bi*
bitand
0
>
[
s0 t0
bitxor
t0! s1 t1
bitxor
t1! s2 t2
bitxor
t2! s3 t3
bitxor
t3!
]
when
s0 s1 s2 s3
(next-256)
drop
s3! s2! s1! s0!
]
with
each
]
each
t0 t1 t2 t3
;