# μMath [![Build Status](https://travis-ci.org/dfcreative/mumath.svg?branch=master)](https://travis-ci.org/dfcreative/mumath) [![Code Climate](https://codeclimate.com/github/dfcreative/mumath/badges/gpa.svg)](https://codeclimate.com/github/dfcreative/mumath)
Set of practical math utils to shorten code.
[`$ npm install mumath`](https://npmjs.org/package/mumath)
```js
var round = require('mumath/round');
round(123.32, .5); //123.5
//require any function as
//var = require('mumath/');
```
## API
### `round(value, step?)`
Rounds value to optional `step`.
`round(0.3, .5)` → `.5`
### `len(a, b)`
Return length of a vector.
### `precision(value)`
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](http://npmjs.org/package/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.
### `order(value)`
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.
## Related
* [bit-twiddle](https://www.npmjs.com/package/bit-twiddle) — utils for power-of-two numbers.
* [pretty-number](https://www.npmjs.com/package/pretty-number) — format number to pretty view.