gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
79 lines (78 loc) • 2.68 kB
TypeScript
/*! Copyright 2023-2025 the gnablib contributors MPL-1.1 */
import { ICtComparable, IUint, IUintMut } from '../interfaces/IUint.js';
import { AInt } from './_AInt.js';
declare const consoleDebugSymbol: unique symbol;
export declare class U64 extends AInt implements IUint<U64>, ICtComparable<U64> {
protected constructor(arr: Uint32Array, pos: number, name?: string);
static fromInt(i52: number): U64;
static fromI32s(...ns: number[]): U64;
static fromBytesBE(src: Uint8Array, pos?: number): U64;
static mount(arr: Uint32Array, pos?: number): U64;
get low(): number;
get high(): number;
clone(): U64;
mut(): U64Mut;
lShift(by: number): U64;
rShift(by: number): U64;
lRot(by: number): U64;
rRot(by: number): U64;
xor(o: U64): U64;
or(o: U64): U64;
and(o: U64): U64;
not(): U64;
add(o: U64): U64;
sub(o: U64): U64;
mul(o: U64): U64;
eq(o: U64): boolean;
gt(o: U64): boolean;
gte(o: U64): boolean;
lt(o: U64): boolean;
lte(o: U64): boolean;
ctEq(o: U64): boolean;
ctGt(o: U64): boolean;
ctGte(o: U64): boolean;
ctLt(o: U64): boolean;
ctLte(o: U64): boolean;
ctSwitch(o: U64, other: boolean): U64;
static get zero(): U64;
}
export declare class U64Mut extends U64 implements IUintMut<U64Mut, U64> {
protected constructor(arr: Uint32Array, pos: number);
set(v: U64): U64Mut;
zero(): U64Mut;
static fromInt(i52: number): U64Mut;
static fromI32s(...ns: number[]): U64Mut;
static fromBytesBE(src: Uint8Array, pos?: number): U64Mut;
static mount(arr: Uint32Array, pos?: number): U64Mut;
lShiftEq(by: number): this;
lRotEq(by: number): this;
rShiftEq(by: number): this;
rRotEq(by: number): this;
xorEq(o: U64): this;
orEq(o: U64): this;
andEq(o: U64): this;
notEq(): this;
addEq(o: U64): this;
subEq(o: U64): this;
mulEq(o: U64): this;
}
export declare class U64MutArray {
private buf;
private bufPos;
private arr;
protected constructor(buf: Uint32Array, bufPos?: number, len?: number);
get length(): number;
at(idx: number): U64Mut;
set(src: U64MutArray, thisOffset?: number, srcOffset?: number): void;
clone(): U64MutArray;
toBytesBE(): Uint8Array;
toBytesLE(): Uint8Array;
toString(): string;
get [Symbol.toStringTag](): string;
[consoleDebugSymbol](): string;
static fromLen(len: number): U64MutArray;
static fromU64s(...u64s: U64[]): U64MutArray;
static mount(arr: Uint32Array, pos?: number, len?: number): U64MutArray;
static fromBytes(buffer: ArrayBuffer, bytePos?: number, byteLen?: number): U64MutArray;
}
export {};