node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


μMath Build Status Code Climate

Set of practical math utils to shorten code.

$ npm install mumath

var round = require('mumath/round');
round(123.32, .5); //123.5 
//require any function as 
//var <fn> = require('mumath/<fn>'); 


round(value, step?)

Rounds value to optional step.

round(0.3, .5).5

len(a, b)

Return length of a vector.


Get precision from float:

1.1 → 1, 1234 → 0, .1234 → 4

clamp(value, left, right)

Return value clamped by left/right limits (or vice-versa).

lerp(x, y, ratio)

Return value interpolated between x and y.

within(value, left, right)

Whether element is between left & right, including.

mod(value, min?, max)

An enhanced mod-loop — loops value within a frame.

closest(value, list)

Get closest value out of a set.

scale(value, list)

Get first scale out of a list of basic scales, aligned to the power. E. g.

step(.37, [1, 2, 5]).5 step(456, [1, 2])1000

Similar to closest, but takes all possible powers of scales.


Get order of magnitude for a number.

order(123) → 100; order(-0.0003) → 0.0001;

isMultiple(a, b, eps?)

Same as a % b === 0, but with precision check.