Skip to content

module numpy.random.pcg64

Source: stdlib/numpy/random/pcg64.codon


u128 = UInt[128]


pcg_int(hi, lo)


PCG_DEFAULT_MULTIPLIER_HIGH = u128(2549297995355413924)


PCG_DEFAULT_MULTIPLIER_LOW = u128(4865540595714422341)


PCG_DEFAULT_MULTIPLIER_128 = pcg_int(PCG_DEFAULT_MULTIPLIER_HIGH, PCG_DEFAULT_MULTIPLIER_LOW)


PCG_DEFAULT_INCREMENT_128 = pcg_int(6364136223846793005, 1442695040888963407)


PCG_STATE_SETSEQ_128_INITIALIZER = (pcg_int(0x979c9a98d8462005, 0x7d3e9cb6cfe0549b), pcg_int(1, 0xda3e39cb94b95bdb))


PCG_CHEAP_MULTIPLIER_128 = ((u128(0xda942042) << u128(32)) | u128(0xe4dd58b5))


PCG64_INITIALIZER = PCG_STATE_SETSEQ_128_INITIALIZER


rotr64(value: u64, rot: int)


PCG64

Fields

state: u128

inc: u128

seed: SeedSequence

Magic methods

__init__(self, initstate: u128, initseq: u128)

__init__(self, seed)

__get_state__(self)

__set_state__(self, state)

Methods

setseq_128_step_r(self)

output_xsl_rr_128_64(self)

setseq_128_xsl_rr_64_random_r(self)

setseq_128_srandom_r(self, initstate: u128, initseq: u128)

advance_lcg_128(self, delta: u128, cur_mult: u128, cur_plus: u128)

setseq_128_advance_r(self, delta: u128)

random_r(self)

srandom_r(self, initstate: u128, initseq: u128)

advance_r(self, delta: u128)

next64(self)

pcg_advance(self, step: Tuple[u64, u64])

advance(self, step: int)

jump_inplace(self, jumps: int)

set_seed(self, seed: Tuple[u64, u64], inc: Tuple[u64, u64])


PCG64DXSM

Fields

state: u128

inc: u128

seed: SeedSequence

Magic methods

__init__(self, initstate: u128, initseq: u128)

__init__(self, seed)

__get_state__(self)

__set_state__(self, state)

Methods

cm_step_r(self)

setseq_128_srandom_r(self, initstate: u128, initseq: u128)

srandom_r(self, initstate: u128, initseq: u128)

setseq_128_step_r(self)

output_cm_128_64(self)

cm_random_r(self)

cm_srandom_r(self, initstate: u128, initseq: u128)

advance_lcg_128(self, delta: u128, cur_mult: u128, cur_plus: u128)

cm_advance_r(self, delta: u128)

next64(self)

pcg_advance(self, step: Tuple[u64, u64])

advance(self, step: int)

jump_inplace(self, jumps: int)

set_seed(self, seed: Tuple[u64, u64], inc: Tuple[u64, u64])