Number utility functions. Inspired by the ruby Integer object.
npm install numbernumber
====
Number utility functions. Inspired by the ruby Integer object.


node
``sh`
$ npm install --save number
component
`sh`
$ component install --save jwerle/number
bower
`sh`
$ bower install number
browser
`html`
`js
var number = require('number');
var i = 0;
(4).times(function (n) { i = n; });
assert(i === 3);
// .downto
(5).downto(1, function (n) { i = n });
assert(i === 1);
// .upto
(5).upto(10, function (n) { i = n });
assert(i === 10);
// .next
assert((5).next === 6);
// .even
assert((1).even === false);
assert((2).even === true);
// .odd
assert((3).odd === true);
assert((4).odd === false);
// .pred
assert((3).pred === 2);
assert((4).pred === 3);
`
You can extend the Number prototype with number.extend()
* name - A string name of the function being added to the Number prototypeisGetter
* - A Boolean indicating whether the fn handle is a getter functionfn
* - A function handle to add to the Number prototype
example
Setter the isGetter flag to true will define the property as a getter:
`js
number.extend('sqrt', true, function () {
return Math.sqrt(this);
});
console.log((4).sqrt); // 2
`
We can create a function that calculates the GCD (Greatest Common Divisor:
`js
number.extend('gcd', function (y) {
var x = this
y = y || 0;
while (y != 0) {
var z = x % y;
x = y;
y = z;
}
return Math.abs(x);
});
(3).gcd(-7); // 1
``
MIT