gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
29 lines (28 loc) • 838 B
TypeScript
/*! Copyright 2025 the gnablib contributors MPL-1.1 */
import { U64 } from '../primitive/number/U64.js';
interface ItoBytesLEer {
toBytesLE(): Uint8Array;
}
export declare abstract class APrng64<T extends ItoBytesLEer> {
protected readonly _state: T;
readonly saveable: boolean;
abstract get bitGen(): number;
abstract get safeBits(): number;
abstract rawNext(): U64;
protected constructor(_state: T, saveable: boolean);
save(): Uint8Array;
private _nextU;
nextBool(): boolean;
nextByte(): number;
nextU16(): number;
nextI16(): number;
nextU31(): number;
nextU32(): number;
nextU64(): U64;
seqU64(n?: number): Generator<U64, void, unknown>;
nextI32(): number;
nextF32(): number;
nextF64(): number;
fillBytes(target: Uint8Array): Uint8Array;
}
export {};