/** * Build-time options for sizing the hash table. * * @typedef {object} HashTableBuildOptions * @property {number} [capacity] Power-of-two table size override. * @property {number} [maxLoadFactor] Maximum load factor before resizing. */ /** * Packed table payload ready for WebGL texture upload. * * @typedef {object} HashTableBuildResult * @property {Uint32Array} table Hash table slots that contain keys. * @property {number} capacity Table capacity (number of slots). * @property {number} size Number of stored keys. */ /** * 32-bit integer hash for u32 keys. Keep in sync with GLSL hash32. * * @param {number} value * @returns {number} */ export function hash32(value: number): number; /** * Build a hash table for set membership checks. * * @param {Iterable} keys * @param {HashTableBuildOptions} [options] * @returns {HashTableBuildResult} */ export function buildHashTableSet(keys: Iterable, options?: HashTableBuildOptions): HashTableBuildResult; /** * Computes a 2D texture layout for a power-of-two hash table capacity. * * The returned dimensions satisfy `width * height === capacity`. * * @param {number} capacity * @param {number} maxTextureSize * @returns {{ width: number, height: number }} */ export function computeHashTextureDimensions(capacity: number, maxTextureSize: number): { width: number; height: number; }; /** Sentinel key that marks an empty hash slot. */ export const HASH_EMPTY_KEY: 4294967295; /** Default maximum load factor for table sizing. */ export const DEFAULT_MAX_LOAD_FACTOR: 0.6; /** * Build-time options for sizing the hash table. */ export type HashTableBuildOptions = { /** * Power-of-two table size override. */ capacity?: number; /** * Maximum load factor before resizing. */ maxLoadFactor?: number; }; /** * Packed table payload ready for WebGL texture upload. */ export type HashTableBuildResult = { /** * Hash table slots that contain keys. */ table: Uint32Array; /** * Table capacity (number of slots). */ capacity: number; /** * Number of stored keys. */ size: number; }; //# sourceMappingURL=hashTable.d.ts.map