Skip to content

Commit

Permalink
Refactor randomVar
Browse files Browse the repository at this point in the history
  • Loading branch information
osvik committed Nov 2, 2024
1 parent 3d07ec0 commit d30c24a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 16 deletions.
12 changes: 4 additions & 8 deletions Abrantes.js
Original file line number Diff line number Diff line change
Expand Up @@ -181,18 +181,14 @@ Abrantes.variants = [
* @returns number
*/
Abrantes.randomVar = function () {
const numberVariants = this.variants.length;
const numberOfVariants = this.variants.length;
if (window.crypto && window.crypto.getRandomValues) {
const maxUint32 = 4294967295;
const limit = maxUint32 - (maxUint32 % (numberVariants));
const values = new Uint32Array(1);
do {
window.crypto.getRandomValues(values);
} while (values[0] >= limit);
this.variant = values[0] % (numberVariants);
window.crypto.getRandomValues(values);
this.variant = values[0] % (numberOfVariants);
}
else {
this.variant = Math.floor(Math.random() * (numberVariants));
this.variant = Math.floor(Math.random() * (numberOfVariants));
}
return this.variant;
};
Expand Down
12 changes: 4 additions & 8 deletions AbrantesPlus.js
Original file line number Diff line number Diff line change
Expand Up @@ -181,18 +181,14 @@ Abrantes.variants = [
* @returns number
*/
Abrantes.randomVar = function () {
const numberVariants = this.variants.length;
const numberOfVariants = this.variants.length;
if (window.crypto && window.crypto.getRandomValues) {
const maxUint32 = 4294967295;
const limit = maxUint32 - (maxUint32 % (numberVariants));
const values = new Uint32Array(1);
do {
window.crypto.getRandomValues(values);
} while (values[0] >= limit);
this.variant = values[0] % (numberVariants);
window.crypto.getRandomValues(values);
this.variant = values[0] % (numberOfVariants);
}
else {
this.variant = Math.floor(Math.random() * (numberVariants));
this.variant = Math.floor(Math.random() * (numberOfVariants));
}
return this.variant;
};
Expand Down

0 comments on commit d30c24a

Please sign in to comment.