Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,33 @@
|
|||
(zero *Split) # global state
|
||||
|
||||
(de mod64 (N)
|
||||
(& N `(hex "FFFFFFFFFFFFFFFF")) )
|
||||
(de mod64+ (A B)
|
||||
(mod64 (+ A B)) )
|
||||
(de mod64* (A B)
|
||||
(mod64 (* A B)) )
|
||||
(de roundf (N) # rounds down
|
||||
(/ N (** 10 *Scl)) )
|
||||
(de nextSplit ()
|
||||
(setq *Split (mod64+ *Split `(hex "9e3779b97f4a7c15")))
|
||||
(let Z *Split
|
||||
(setq
|
||||
Z (mod64* `(hex "bf58476d1ce4e5b9") (x| Z (>> 30 Z)))
|
||||
Z (mod64* `(hex "94d049bb133111eb") (x| Z (>> 27 Z))) )
|
||||
(x| Z (>> 31 Z)) ) )
|
||||
|
||||
(prinl "First 5 numbers:")
|
||||
(setq *Split 1234567)
|
||||
(do 5
|
||||
(println (nextSplit)) )
|
||||
|
||||
(prinl "The counts for 100,000 repetitions are:")
|
||||
(scl 12)
|
||||
(off R)
|
||||
(setq *Split 987654321)
|
||||
(do 100000
|
||||
(accu
|
||||
'R
|
||||
(roundf (* 5 (*/ (nextSplit) 1.0 18446744073709551616)))
|
||||
1 ) )
|
||||
(mapc println (sort R))
|
||||
Loading…
Add table
Add a link
Reference in a new issue