UNPKG

gnablib

Version:

A lean, zero dependency library to provide a useful base for your project.

55 lines (54 loc) 2.26 kB
/*! 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 {};