]> git.wincent.com - hextrapolate.git/commitdiff
Specify boundary conditions a little more rigorously
authorGreg Hurrell <greg@hurrell.net>
Fri, 2 Jun 2017 07:00:55 +0000 (00:00 -0700)
committerGreg Hurrell <greg@hurrell.net>
Fri, 2 Jun 2017 07:00:55 +0000 (00:00 -0700)
src/multiplyDigits.js

index 011b8e2c45f94f12342b579e9429b3ad97d80da0..4350b36b181c51df80c8bab1d24e8fb5f237b06a 100644 (file)
@@ -30,7 +30,7 @@ export default function multiplyDigits(
   let memoIndex = -1;
 
   while (multiplier) {
   let memoIndex = -1;
 
   while (multiplier) {
-    if (count && count * 2 < multiplier) {
+    if (count && count * 2 <= multiplier) {
       // We can double the current result without exceeding the target.
       result = addDigits(result, result, base);
       multiplier -= count;
       // We can double the current result without exceeding the target.
       result = addDigits(result, result, base);
       multiplier -= count;
@@ -39,7 +39,7 @@ export default function multiplyDigits(
       memoIndex++;
     } else {
       const last = memoIndex >= 0 ? memo[memoIndex--] : null;
       memoIndex++;
     } else {
       const last = memoIndex >= 0 ? memo[memoIndex--] : null;
-      if (last && last.count < multiplier) {
+      if (last && last.count <= multiplier) {
         // We can use a previous result on the stack to leap ahead.
         result = addDigits(result, last.result, base);
         multiplier -= last.count;
         // We can use a previous result on the stack to leap ahead.
         result = addDigits(result, last.result, base);
         multiplier -= last.count;