e237d9647c644eb1115f67364dd239a57e226d80
[platform/framework/web/crosswalk-tizen.git] /
1 var MIN_INT = require('../number/MIN_INT');
2 var MAX_INT = require('../number/MAX_INT');
3 var rand = require('./rand');
4
5     /**
6      * Gets random integer inside range or snap to min/max values.
7      */
8     function randInt(min, max){
9         min = min == null? MIN_INT : ~~min;
10         max = max == null? MAX_INT : ~~max;
11         // can't be max + 0.5 otherwise it will round up if `rand`
12         // returns `max` causing it to overflow range.
13         // -0.5 and + 0.49 are required to avoid bias caused by rounding
14         return Math.round( rand(min - 0.5, max + 0.499999999999) );
15     }
16
17     module.exports = randInt;
18