X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=random.js;h=f4fd9f0bd53f9182f13541be0b3bb17bc7c5e27c;hb=9d7eeee7d593df4ce1d6c21d1efdae816a47a85d;hp=1eeeedd362d90903caab90e567ab79d69b2bf68a;hpb=fb341cfe4ddb61a33ab7dccb644aa8d6a0049f21;p=benchmarks-js.git diff --git a/random.js b/random.js index 1eeeedd..f4fd9f0 100644 --- a/random.js +++ b/random.js @@ -9,8 +9,11 @@ const maximum = Number.MAX_SAFE_INTEGER * @returns */ function getSecureRandomInteger (max = Number.MAX_SAFE_INTEGER, min = 0) { + if (max < min || max < 0 || min < 0) { + throw new RangeError('Invalid interval') + } max = Math.floor(max) - if (min) { + if (min != null && min !== 0) { min = Math.ceil(min) return Math.floor(secureRandom() * (max - min + 1)) + min } @@ -23,8 +26,11 @@ function getSecureRandomInteger (max = Number.MAX_SAFE_INTEGER, min = 0) { * @returns */ function getRandomInteger (max = Number.MAX_SAFE_INTEGER, min = 0) { + if (max < min || max < 0 || min < 0) { + throw new RangeError('Invalid interval') + } max = Math.floor(max) - if (min) { + if (min != null && min !== 0) { min = Math.ceil(min) return Math.floor(Math.random() * (max - min + 1)) + min } @@ -33,10 +39,10 @@ function getRandomInteger (max = Number.MAX_SAFE_INTEGER, min = 0) { Benchmark.suite( 'Random Integer Generator', - Benchmark.add('Secure random integer generator', function () { + Benchmark.add('Secure random integer generator', () => { getSecureRandomInteger(maximum) }), - Benchmark.add('Random integer generator', function () { + Benchmark.add('Random integer generator', () => { getRandomInteger(maximum) }), Benchmark.cycle(),