/** * SMI-632/SMI-677: Shared statistical utilities for benchmark calculations * * This module provides consistent statistical calculations across * BenchmarkRunner and IndexBenchmark. */ /** * Calculate percentile value from sorted array using linear interpolation * * Uses the percentile rank method with linear interpolation between adjacent values. * This provides more accurate percentile estimates than simple nearest-rank method. * * @param sorted - Sorted array of values (ascending order) * @param p - Percentile to calculate (0-100) * @returns The interpolated percentile value, rounded to 3 decimal places * * @example * percentile([1, 2, 3, 4, 5], 50) // returns 3 * percentile([1, 2, 3, 4, 5], 95) // returns 4.8 (interpolated) */ export declare function percentile(sorted: number[], p: number): number; /** * Calculate mean of an array of values * * @param values - Array of numeric values * @returns The arithmetic mean, or 0 for empty array */ export declare function mean(values: number[]): number; /** * Calculate sample standard deviation * * Uses Bessel's correction (n-1 denominator) for sample standard deviation, * which provides an unbiased estimate of population standard deviation. * * @param values - Array of numeric values * @returns The sample standard deviation, or 0 for arrays with less than 2 elements */ export declare function sampleStddev(values: number[]): number; /** * Calculate all common statistics from a set of latencies * * @param latencies - Array of latency measurements * @returns Statistical summary including percentiles, mean, stddev, min, max */ export interface LatencyStats { count: number; p50: number; p95: number; p99: number; mean: number; stddev: number; min: number; max: number; } export declare function calculateLatencyStats(latencies: number[]): LatencyStats; //# sourceMappingURL=stats.d.ts.map