Skip to content

Xoshiro256pp

Defined in: src/engine/xoshiro256pp.ts:30

The xoshiro256++ engine. Build one with xoshiro256pp.

xoshiro256pp(42) instanceof Xoshiro256pp; // true

new Xoshiro256pp(state): Xoshiro256pp

Defined in: src/engine/prng-engine.ts:49

Uint32Array

Xoshiro256pp

PrngEngine.constructor

readonly algorithm: "xoshiro256++" = "xoshiro256++"

Defined in: src/engine/xoshiro256pp.ts:31

Identifies the algorithm in EngineState.

PrngEngine.algorithm


readonly seedable: true = true

Defined in: src/engine/prng-engine.ts:45

Whether the engine can be re-seeded. Math.random and the CSPRNG cannot.

PrngEngine.seedable


readonly version: number = 1

Defined in: src/engine/prng-engine.ts:44

PrngEngine.version

clone(): this

Defined in: src/engine/prng-engine.ts:111

this

PrngEngine.clone


fillBytes(out): void

Defined in: src/engine/prng-engine.ts:65

Uint8Array

void

PrngEngine.fillBytes


fillUint32(out): void

Defined in: src/engine/prng-engine.ts:61

Uint32Array

void

PrngEngine.fillUint32


getState(): EngineState

Defined in: src/engine/prng-engine.ts:86

EngineState

PrngEngine.getState


jump(): void

Defined in: src/engine/xoshiro256pp.ts:115

Equivalent to 2^128 steps.

void


longJump(): void

Defined in: src/engine/xoshiro256pp.ts:120

Equivalent to 2^192 steps.

void


nextFloat64(): number

Defined in: src/engine/prng-engine.ts:55

A uniform double in [0, 1) with 53 bits of precision.

number

PrngEngine.nextFloat64


nextUint32(): number

Defined in: src/engine/xoshiro256pp.ts:76

Low word first, then the high word of the same 64-bit draw.

number

PrngEngine.nextUint32


nextUint64(): bigint

Defined in: src/engine/xoshiro256pp.ts:89

A full 64-bit draw. Discards a half-consumed word, if any.

bigint


reseed(seed): void

Defined in: src/engine/prng-engine.ts:120

Restart from new seed material, in place.

Seed

void

PrngEngine.reseed


setState(state): void

Defined in: src/engine/prng-engine.ts:94

EngineState

void

PrngEngine.setState


split(n): Engine[]

Defined in: src/engine/xoshiro256pp.ts:124

Independent children. Engines with a jump polynomial override this for guaranteed non-overlapping streams.

number

Engine[]

PrngEngine.split