N (Number)
Aggregation
Section titled “Aggregation”sum(nums: number[]): numbermean(nums: number[]): numbermedian(nums: number[]): numbervariance(nums: number[]): numberstandardDeviation(nums: number[]): numbermin(nums: number[]): numbermax(nums: number[]): numberminMax(nums: number[]): [number, number]percentile(nums: number[], p: number): numberclamp(value: number, min: number, max: number): numberdotProduct(a: number[], b: number[]): numberPredicates
Section titled “Predicates”isEven(n: number): booleanisOdd(n: number): booleanExamples
Section titled “Examples”import { pipe, A, N } from '@stopcock/fp'
// stats on response timesconst times = [120, 95, 200, 88, 150, 300, 110]N.mean(times) // ~151.9N.median(times) // 120N.standardDeviation(times) // ~68.6N.percentile(times, 95) // 300
// clamp user inputpipe(userAge, N.clamp(0, 150))
// average score, ignoring zerospipe(scores, A.filter(s => s > 0), N.mean)
// feature vector similarityN.dotProduct([1, 0, 1], [0, 1, 1]) // 1