RANDOM

Copyright(c) 2013 Stefano Balietti MIT Licensed

Collection of static functions related to the generation of

pseudo-random numbers.

(function(JSUS) {

    function RANDOM(){};

RANDOM.random

Generates a pseudo-random floating point number between (a,b), both a and b exclusive.

Params
a number The lower limit
b number The upper limit
Returns
number A random floating point number in (a,b)
    RANDOM.random = function(a, b) {
        a = ('undefined' === typeof a) ? 0 : a;
        b = ('undefined' === typeof b) ? 0 : b;
        if (a === b) return a;

        if (b < a) {
            var c = a;
            a = b;
            b = c;
        }
        return (Math.random() * (b - a)) + a
    };

RANDOM.randomInt

Generates a pseudo-random integer between (a,b] a exclusive, b inclusive.

Params
a number The lower limit
b number The upper limit
Returns
number A random integer in (a,b]
See
RANDOM.random
    RANDOM.randomInt = function(a, b) {
        if (a === b) return a;
        return Math.floor(RANDOM.random(a, b) + 1);
    };

    RANDOM.sample = function(a, b) {
        var out;
        out = JSUS.seq(a,b)
        if (!out) return false;
        return JSUS.shuffle(out);
    }

    JSUS.extend(RANDOM);

})('undefined' !== typeof JSUS ? JSUS : module.parent.exports.JSUS);