XorShift128Plus
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
Implements
- Random ref
Constructors
from_u64
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^
Parameters
- x: U64 val = 5489
Returns
- XorShift128Plus ref^
create
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^
Parameters
Returns
- XorShift128Plus ref^
Public Functions
next
A random integer in [0, 2^64)
fun ref next() : U64 val
Returns
- U64 val
has_next
fun tag has_next() : Bool val
Returns
- Bool val
u8
fun ref u8() : U8 val
Returns
- U8 val
u16
fun ref u16() : U16 val
Returns
- U16 val
u32
fun ref u32() : U32 val
Returns
- U32 val
u64
fun ref u64() : U64 val
Returns
- U64 val
u128
fun ref u128() : U128 val
Returns
- U128 val
ulong
fun ref ulong() : ULong val
Returns
- ULong val
usize
fun ref usize() : USize val
Returns
- USize val
i8
fun ref i8() : I8 val
Returns
- I8 val
i16
fun ref i16() : I16 val
Returns
- I16 val
i32
fun ref i32() : I32 val
Returns
- I32 val
i64
fun ref i64() : I64 val
Returns
- I64 val
i128
fun ref i128() : I128 val
Returns
- I128 val
ilong
fun ref ilong() : ILong val
Returns
- ILong val
isize
fun ref isize() : ISize val
Returns
- ISize val
int_fp_mult[optional N: ((U8 val | U16 val | U32 val | U64 val | U128 val | ULong val | USize val) & Real[N] 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
Parameters
- n: N
Returns
- N
int[optional N: ((U8 val | U16 val | U32 val | U64 val | U128 val | ULong val | USize val) & Real[N] val)]
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
Parameters
- n: N
Returns
- N
int_unbiased[optional N: ((U8 val | U16 val | U32 val | U64 val | U128 val | ULong val | USize val) & Real[N] val)]
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
Parameters
- n: N
Returns
- N
real
fun ref real() : F64 val
Returns
- F64 val
shuffle[A: A]
fun ref shuffle[A: A]( array: Array[A] ref) : None val
Parameters
- array: Array[A] ref
Returns
- None val
© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/random-XorShift128Plus