gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
55 lines (54 loc) • 2.26 kB
TypeScript
/*! Copyright 2024-2025 the gnablib contributors MPL-1.1 */
import { U64, U64MutArray } from '../primitive/number/U64.js';
import { APrng64 } from './APrng64.js';
declare abstract class AXoroshiro128 extends APrng64<U64MutArray> {
readonly bitGen = 64;
protected abstract get _a(): number;
protected abstract get _b(): number;
protected abstract get _c(): number;
protected abstract _gen(): U64;
rawNext(): U64;
}
export declare class Xoroshiro128p extends AXoroshiro128 {
readonly safeBits = 53;
protected readonly _a: number;
protected readonly _b: number;
protected readonly _c: number;
protected _gen(): U64;
get [Symbol.toStringTag](): string;
static new(saveable?: boolean): Xoroshiro128p;
static seed(seed0: U64, seed1: U64, saveable?: boolean): Xoroshiro128p;
static restore(state: Uint8Array, saveable?: boolean): Xoroshiro128p;
}
export declare class Xoroshiro128p_2016 extends Xoroshiro128p {
protected readonly _a = 55;
protected readonly _b = 14;
protected readonly _c = 36;
get [Symbol.toStringTag](): string;
static new(saveable?: boolean): Xoroshiro128p_2016;
static seed(seed0: U64, seed1: U64, saveable?: boolean): Xoroshiro128p_2016;
static restore(state: Uint8Array, saveable?: boolean): Xoroshiro128p_2016;
}
export declare class Xoroshiro128pp extends AXoroshiro128 {
readonly safeBits = 64;
protected readonly _a: number;
protected readonly _b: number;
protected readonly _c: number;
protected _gen(): U64;
get [Symbol.toStringTag](): string;
static new(saveable?: boolean): Xoroshiro128pp;
static seed(seed0: U64, seed1: U64, saveable?: boolean): Xoroshiro128pp;
static restore(state: Uint8Array, saveable?: boolean): Xoroshiro128pp;
}
export declare class Xoroshiro128ss extends AXoroshiro128 {
readonly safeBits = 64;
protected readonly _a: number;
protected readonly _b: number;
protected readonly _c: number;
protected _gen(): U64;
get [Symbol.toStringTag](): string;
static new(saveable?: boolean): Xoroshiro128ss;
static seed(seed0: U64, seed1: U64, saveable?: boolean): Xoroshiro128ss;
static restore(state: Uint8Array, saveable?: boolean): Xoroshiro128ss;
}
export {};