Handbook
Glossary
generate ( sfmt -- )
Vocabulary
random
.
sfmt
.
private
Inputs
sfmt
an
object
Outputs
None
Definition
IN:
random.sfmt.private
GENERIC:
generate
( sfmt -- )
Methods
USING:
accessors
math
random.sfmt.private
sequences
sequences.private
;
M::
sfmt
generate
( sfmt -- )
sfmt
state>>
:>
state sfmt
uint-4-array>>
:>
array state
n>>
2
-
array
nth
state
r1<<
state
n>>
1
-
array
nth
state
r2<<
state
m>>
:>
m state
n>>
:>
n state
mask>>
:>
mask n m
-
>fixnum
<iota>
[|
i |
i array
nth-unsafe
i m
+
array
nth-unsafe
mask state
r1>>
state
r2>>
formula
:>
r r i array
set-nth-unsafe
state
r2>>
state
r1<<
r state
r2<<
]
each
m 1
-
<iota>
[
n m
-
1
+
+
>fixnum
:>
i i array
nth-unsafe
m n
-
i
+
array
nth-unsafe
mask state
r1>>
state
r2>>
formula
:>
r r i array
set-nth-unsafe
state
r2>>
state
r1<<
r state
r2<<
]
each
0 state
index<<
;