number

v0.0.1
Number utility functions. Inspired by the ruby Integer object.
number util utility integer

number

Number utility functions. Inspired by the ruby Integer object.

build status testling badge

install

node

$ npm install --save number

component

$ component install --save jwerle/number

bower

$ bower install number

browser

<script type="text/javascript" src="https://raw.github.com/jwerle/number/master/build/build.js"></script>
<script type="text/javascript">
  var number = require('number');
</script>

usage

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);

api

.extend(name, isGetter, fn)

You can extend the Number prototype with number.extend()

  • name - A string name of the function being added to the Number prototype
  • isGetter - A Boolean indicating whether the fn handle is a getter function
  • fn - A function handle to add to the Number prototype

example

Setter the isGetter flag to true will define the property as a getter:

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:

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

license

MIT

npm i number

Metadata

  • MIT
  • Whatever
  • Joseph Werle
  • released 5/29/2013

Downloads

Maintainers