Explorar o código

fix rare infinite loop with floating point inaccuracies in Fraction.ts (#880)

In certain cases, b becomes very small (2.0e-14) and never converges to 0.
Dathan %!s(int64=4) %!d(string=hai) anos
pai
achega
669400125b
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      src/Common/DataObjects/Fraction.ts

+ 1 - 1
src/Common/DataObjects/Fraction.ts

@@ -64,7 +64,7 @@ export class Fraction {
       return 1;
     }
 
-    while (b !== 0) {
+    while (Math.abs(b) > 0.0000001) {
       if (a > b) {
         a -= b;
       } else {