locutus
Version:
Locutus other languages' standard libraries to JavaScript for fun and educational purposes
25 lines (24 loc) • 861 B
JavaScript
export function mt_rand(...providedArgs) {
// discuss at: https://locutus.io/php/mt_rand/
// parity verified: PHP 8.3
// original by: Onno Marsman (https://twitter.com/onnomarsman)
// improved by: Brett Zamir (https://brett-zamir.me)
// input by: Kongo
// example 1: mt_rand(1, 1)
// returns 1: 1
const [min, max] = providedArgs;
let minValue;
let maxValue;
if (providedArgs.length === 0) {
minValue = 0;
maxValue = 2147483647;
}
else if (providedArgs.length === 1) {
throw new Error('Warning: mt_rand() expects exactly 2 parameters, 1 given');
}
else {
minValue = Number.parseInt(String(min), 10);
maxValue = Number.parseInt(String(max), 10);
}
return Math.floor(Math.random() * (maxValue - minValue + 1)) + minValue;
}