Skip to content

JavaScript utilities for numbers, arithmetic, divisors, geometry, and statistics.

License

Notifications You must be signed in to change notification settings

nodef/extra-math

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mathematics is the classification and study of all possible patterns (1). This package includes common number functions related to querying about numbers, comparing numbers, rounding numbers, performing rounded division, performing modulo operations, controlling range of numbers, performing arithmetic operations, obtaining divisors of a number (and related operations), getting the number of possible arrangements of a set of objects, performing geometry-related calculations, performing basic statistical analysis, and finding various statistical means.

Natural numbers: There are 3 different ways of performing the modulo operation: rem, mod, and modp. gcd/HCF and lcm of a list of numbers can be obtained. To calculate the number of ways of ordering items, use factorial/P(n, k), binomial/C(n, k), or multinomial/n!/k₁!k₂!....

Real numbers: Range of a number can be controlled with constrain, normalize, or remap. Use lerp for linear interpolation (or extrapolation); root for calculating the n-th root of a number; and log to find the logarithm of a number with a given base.

Geometry: Perform conversion from degrees to radians and vice versa. Find the magnitude of a vector or distance between two points.

Statistics: For a list of numbers, we can calculate the sum, product, arithmeticMean. median gives the value lying in the middle when the numbers are sorted, and modes gives the values which are repeated most often. The difference between the largest and the smallest values is the range. variance is a measure of variability of numbers.

▌ 📦 JSR, 📰 Docs,


import * as xmath from "jsr:@nodef/extra-math";

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

xmath.median(1, 7, 8);
// → 7

xmath.variance(1, 2, 3, 4);
// → 1.25

xmath.lcm(2, 3, 4);
// → 12


Index

Name Description
floor Round down a number to specific precision.
ceil Round up a number to specific precision.
round Round a number to specific precision.
floorDiv Perform floor-divison of two numbers.
ceilDiv Perform ceiling-divison of two numbers.
roundDiv Perform rounded-divison of two numbers.
rem Find the remainder of x/y with sign of x (truncated division).
mod Find the remainder of x/y with sign of y (floored division).
modp Find the remainder of x/y with +ve sign (euclidean division).
constrain Constrain a number within a minimum and a maximum value.
normalize Normalize a number from its current range into a value between 0 and 1.
remap Re-map a number from one range to another.
lerp Linearly interpolate a number between two numbers.
isPow Check if a number is a power-of-n.
prevPow Find largest power-of-n less than or equal to given number.
nextPow Find smallest power-of-n greater than or equal to given number.
root Find the nth root of a number (ⁿ√).
log Find the logarithm of a number with a given base.
properDivisors List all divisors of a number, except itself.
aliquotSum Sum all proper divisors of a number.
minPrimeFactor Find the least prime number which divides a number.
maxPrimeFactor Find the greatest prime number which divides a number.
primeFactors Find the prime factors of a number.
primeExponentials Find the prime factors and respective exponents of a number.
isPrime Check if number is prime.
gcd Find the greatest common divisor of numbers.
lcm Find the least common multiple of numbers.
factorial Find the factorial of a number.
binomial Find the number of ways to choose k elements from a set of n elements.
multinomial Find the number of ways to put n objects in m bins (n=sum(kᵢ)).
degrees Convert radians to degrees.
radians Convert degrees to radians.
magnitude Calculate the magnitude (length) of a vector.
distance Calculate the distance between two points.
sum Find the sum of numbers (Σ).
product Find the product of numbers (∏).
median Find the value separating the higher and lower halves of numbers.
modes Find the values that appear most often.
range Find the smallest and largest values.
variance Find the mean of squared deviation of numbers from its mean.
arithmeticMean Find the average of numbers.
geometricMean Find the geometric mean of numbers.
harmonicMean Find the harmonic mean of numbers.
quadriaticMean Find the quadriatic mean of numbers.
cubicMean Find the cubic mean of numbers.


References




ORG