Fix random integer generator
authorJérôme Benoit <jerome.benoit@sap.com>
Mon, 24 Oct 2022 12:00:25 +0000 (14:00 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Mon, 24 Oct 2022 12:00:25 +0000 (14:00 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
benchmark-utils.js
quick-select.js
random.js

index 164cfc6596184017b0735cd98833a16d376f039c..50aa39ce19f25d5cc2639c3d541dd914f63b66c7 100644 (file)
@@ -19,7 +19,7 @@ function generateRandomInteger (max = Number.MAX_SAFE_INTEGER, min = 0) {
     throw new RangeError('Invalid interval')
   }
   max = Math.floor(max)
-  if (min) {
+  if (min != null && min !== 0) {
     if (max < min || min < 0) {
       throw new RangeError('Invalid interval')
     }
index 4be22057db4c48ae17563a2feab51b9d306d4d51..d45a9e8b4bf653c38142ebabf026cd59ef0adc44 100644 (file)
@@ -63,7 +63,7 @@ const defaultPivotIndexSelect = (leftIndex, rightIndex) => {
 }
 
 const randomPivotIndexSelect = (leftIndex, rightIndex) => {
-  return generateRandomInteger(leftIndex, rightIndex)
+  return generateRandomInteger(rightIndex, leftIndex)
 }
 
 /**
index ed5acd6843685ecd54fe66855b659de6e31a3dfe..ee5cc617ed12a80050a62cb65a707bd8b2da4899 100644 (file)
--- a/random.js
+++ b/random.js
@@ -10,7 +10,7 @@ const maximum = Number.MAX_SAFE_INTEGER
  */
 function getSecureRandomInteger (max = Number.MAX_SAFE_INTEGER, min = 0) {
   max = Math.floor(max)
-  if (min) {
+  if (min != null && min !== 0) {
     min = Math.ceil(min)
     return Math.floor(secureRandom() * (max - min + 1)) + min
   }
@@ -24,7 +24,7 @@ function getSecureRandomInteger (max = Number.MAX_SAFE_INTEGER, min = 0) {
  */
 function getRandomInteger (max = Number.MAX_SAFE_INTEGER, min = 0) {
   max = Math.floor(max)
-  if (min) {
+  if (min != null && min !== 0) {
     min = Math.ceil(min)
     return Math.floor(Math.random() * (max - min + 1)) + min
   }