2025-11-13 13:13:34 -07:00

43 lines
1.1 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Mnemonist BitVector Typings
* ============================
*/
type BitVectorOptions = {
initialLength?: number;
initialCapacity?: number;
policy?: (capacity: number) => number;
}
export default class BitVector implements Iterable<number> {
// Members
capacity: number;
length: number;
size: number;
// Constructor
constructor(length: number);
constructor(options: BitVectorOptions);
// Methods
clear(): void;
set(index: number, value?: boolean | number): this;
reset(index: number, value: boolean | number): void;
flip(index: number, value: boolean | number): void;
reallocate(capacity: number): this;
grow(capacity?: number): this;
resize(length: number): this;
push(value: boolean | number): number;
pop(): number | undefined;
get(index: number): number;
test(index: number): boolean;
rank(r: number): number;
select(r: number): number;
forEach(callback: (index: number, value: number, set: this) => void, scope?: any): void;
values(): IterableIterator<number>;
entries(): IterableIterator<[number, number]>;
[Symbol.iterator](): IterableIterator<number>;
inspect(): any;
toJSON(): Array<number>;
}