@graphty/algorithms
Version:
Graph algorithms library for browser environments implemented in TypeScript
52 lines • 1.51 kB
TypeScript
/**
* Seeded random number generator for reproducible results
*/
export declare class SeededRandom {
private seed;
private readonly m;
private readonly a;
private readonly c;
constructor(seed: number);
/**
* Generate next random number between 0 and 1
*/
next(): number;
/**
* Create a generator function for backward compatibility
*/
static createGenerator(seed: number): () => number;
}
/**
* Fisher-Yates shuffle algorithm
* @param array - Array to shuffle (will be modified in place)
* @param rng - Optional random number generator (defaults to Math.random)
* @returns The shuffled array (same reference as input)
*/
export declare function shuffle<T>(array: T[], rng?: () => number): T[];
/**
* Calculate Euclidean distance between two vectors
* @param a - First vector
* @param b - Second vector
* @returns Euclidean distance
* @throws Error if vectors have different lengths
*/
export declare function euclideanDistance(a: number[], b: number[]): number;
export declare const normalize: {
/**
* Min-max normalization to [0, 1] range
*/
minMax(values: Map<string, number>): void;
/**
* Normalize by maximum value
*/
byMax(values: Map<string, number>): void;
/**
* L2 (Euclidean) normalization
*/
l2Norm(values: Map<string, number>): void;
/**
* Normalize to sum to 1
*/
sumToOne(values: Map<string, number>): void;
};
//# sourceMappingURL=math-utilities.d.ts.map