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