effect-io-ai

Package: effect
Module: Hash

Hash.number

Computes a hash value for a number.

When to use

Use to hash a JavaScript number with Effect’s numeric hash semantics.

Details

This function creates a hash value for numeric inputs, handling special cases like NaN, Infinity, and -Infinity with distinct hash values. It uses bitwise operations to ensure good distribution of hash values across different numeric inputs.

Example (Hashing numbers)

import { Hash } from "effect"

console.log(Hash.number(42)) // hash of 42
console.log(Hash.number(3.14)) // hash of 3.14
console.log(Hash.number(NaN)) // hash of "NaN"
console.log(Hash.number(Infinity)) // 0 (special case)

// Same numbers produce the same hash
console.log(Hash.number(100) === Hash.number(100)) // true

Signature

declare const number: (n: number) => number

Source

Since v2.0.0