|
|
@ -57,8 +57,26 @@ function deepCopy (obj) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* Return an array with the numbers from 0 to n-1, in a random order |
|
|
|
|
|
|
|
* Used in the benchmarks |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
function getRandomArray (n) { |
|
|
|
|
|
|
|
var res, next; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (n === 0) { return []; } |
|
|
|
|
|
|
|
if (n === 1) { return [0]; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
res = getRandomArray(n - 1); |
|
|
|
|
|
|
|
next = Math.floor(Math.random() * n); |
|
|
|
|
|
|
|
res.splice(next, 0, n - 1); // Add n-1 at a random position in the array
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return res; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module.exports.ensureDirectoryExists = ensureDirectoryExists; |
|
|
|
module.exports.ensureDirectoryExists = ensureDirectoryExists; |
|
|
|
module.exports.uid = uid; |
|
|
|
module.exports.uid = uid; |
|
|
|
module.exports.deepCopy = deepCopy; |
|
|
|
module.exports.deepCopy = deepCopy; |
|
|
|
|
|
|
|
module.exports.getRandomArray = getRandomArray; |
|
|
|