123456789101112131415161718 |
- var MIN_INT = require('../number/MIN_INT');
- var MAX_INT = require('../number/MAX_INT');
- var rand = require('./rand');
- /**
- * Gets random integer inside range or snap to min/max values.
- */
- function randInt(min, max){
- min = min == null? MIN_INT : ~~min;
- max = max == null? MAX_INT : ~~max;
- // can't be max + 0.5 otherwise it will round up if `rand`
- // returns `max` causing it to overflow range.
- // -0.5 and + 0.49 are required to avoid bias caused by rounding
- return Math.round( rand(min - 0.5, max + 0.499999999999) );
- }
- module.exports = randInt;
|