This is an implementation of xorshift+, as detailed at:
http://xoroshiro.di.unimi.it
This should only be used for legacy applications that specifically require XorShift128Plus, otherwise use Rand.
class ref XorShift128Plus is Random ref
Use seed x to seed a SplitMix64 and use this to initialize the 128 bits of state.
new ref from_u64( x: U64 val = 5489) : XorShift128Plus ref^
Create with the specified seed. Returned values are deterministic for a given seed.
new ref create( x: U64 val = 5489, y: U64 val = 0) : XorShift128Plus ref^
A random integer in [0, 2^64)
fun ref next() : U64 val
fun tag has_next() : Bool val
fun ref u8() : U8 val
fun ref u16() : U16 val
fun ref u32() : U32 val
fun ref u64() : U64 val
fun ref u128() : U128 val
fun ref ulong() : ULong val
fun ref usize() : USize val
fun ref i8() : I8 val
fun ref i16() : I16 val
fun ref i32() : I32 val
fun ref i64() : I64 val
fun ref i128() : I128 val
fun ref ilong() : ILong val
fun ref isize() : ISize val
fun ref int_fp_mult[optional N: ((U8 val | U16 val | U32 val | U64 val | U128 val | ULong val | USize val) & Real[N] val)]( n: N) : N
fun ref int[optional N: ((U8 val | U16 val | U32 val | U64 val | U128 val | ULong val | USize val) & Real[N] val)]( n: N) : N
fun ref int_unbiased[optional N: ((U8 val | U16 val | U32 val | U64 val | U128 val | ULong val | USize val) & Real[N] val)]( n: N) : N
fun ref real() : F64 val
fun ref shuffle[A: A]( array: Array[A] ref) : None val
fun ref _u64_unbiased( range: U64 val) : U64 val
© 2016-2018, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/random-XorShift128Plus