Skip to content

API Reference

All methods are available on the Maths object.

const Maths = require('@peterbenoit/mathsjs');
console.log(Maths.avg(10, 20, 30)); // 20
CategoryMethods
Aggregationavg, sum
Statisticsmedian, mode, range, percentile
Number Theoryfactorial, gcd, lcm
Utilityclamp, distance

Returns the arithmetic mean of input values.

ItemDetails
Parameters...values: number[] (at least one finite number)
Returnsnumber
ThrowsRangeError on empty input, TypeError on non-finite values

Example

Maths.avg(1, 2, 3, 4); // 2.5

Returns the total sum of input values.

ItemDetails
Parameters...values: number[]
Returnsnumber
ThrowsTypeError on non-finite values

Example

Maths.sum(1, 2, 3, 4); // 10

Returns the median value.

ItemDetails
Parameters...values: number[] (at least one finite number)
Returnsnumber
ThrowsRangeError on empty input, TypeError on non-finite values

Example

Maths.median(9, 2, 7, 4); // 5.5

Returns an array of most frequent values, or null if no distinct mode exists.

ItemDetails
Parameters...values: number[] (at least one finite number)
Returnsnumber[] | null
ThrowsRangeError on empty input, TypeError on non-finite values

Example

Maths.mode(1, 2, 2, 3); // [2]
Maths.mode(1, 1, 2, 2); // null

Returns max - min.

ItemDetails
Parameters...values: number[] (at least one finite number)
Returnsnumber
ThrowsRangeError on empty input, TypeError on non-finite values

Example

Maths.range(1, 8, 3); // 7

Returns the value at percentile p where p is in [0, 100].

ItemDetails
Parametersvalues: number[], p: number
Returnsnumber
ThrowsRangeError for empty input or invalid p, TypeError for invalid values

Example

Maths.percentile([1, 2, 3, 4, 5], 90); // 5

Returns n! for non-negative integers.

ItemDetails
Parametersn: number (non-negative integer)
Returnsnumber
ThrowsTypeError for non-integer/non-finite n, RangeError for n < 0

Example

Maths.factorial(5); // 120

Returns the greatest common divisor of two integers.

ItemDetails
Parametersa: number, b: number (integers)
Returnsnumber
ThrowsTypeError for non-integer/non-finite inputs

Example

Maths.gcd(48, 18); // 6

Returns the least common multiple of two integers. Returns 0 if either input is 0.

ItemDetails
Parametersa: number, b: number (integers)
Returnsnumber
ThrowsTypeError for non-integer/non-finite inputs

Example

Maths.lcm(4, 6); // 12
Maths.lcm(0, 6); // 0

Constrains value to the inclusive range [min, max].

ItemDetails
Parametersvalue: number, min: number, max: number
Returnsnumber
ThrowsRangeError if min > max, TypeError for non-finite inputs

Example

Maths.clamp(12, 0, 10); // 10

Returns Euclidean distance between two 2D points.

ItemDetails
Parametersx1: number, y1: number, x2: number, y2: number
Returnsnumber
ThrowsTypeError for non-finite inputs

Example

Maths.distance(0, 0, 3, 4); // 5