packages feed

kempe-0.1.1.0: examples/splitmix.kmp

; from here: http://prng.di.unimi.it/splitmix64.c

; given a seed, return a random value and the new seed
next : Word -- Word Word
     =: [ 0x9e3779b97f4a7c15u +~ dup
          dup 30i8 >>~ xoru 0xbf58476d1ce4e5b9u *~
          dup 27i8 >>~ xoru 0x94d049bb133111ebu *~
          dup 31i8 >>~ xoru
        ]

%foreign kabi next