XorOshiro128StarStar
This is an implementation of xoroshiro128**, as detailed at:
http://xoshiro.di.unimi.it/
This Rand implementation is slightly slower than XorOshiro128Plus but does not exhibit "mild dependencies in Hamming weights" (the lower four bits might fail linearity tests).
class ref XorOshiro128StarStar 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) : XorOshiro128StarStar ref^
Parameters
- x: U64 val = 5489
Returns
- XorOshiro128StarStar ref^
create
new ref create( x: U64 val = 5489, y: U64 val = 0) : XorOshiro128StarStar ref^
Parameters
Returns
- XorOshiro128StarStar ref^
Public Functions
next
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-XorOshiro128StarStar