Added some code to check for Nan/Inf
authorceriel <none@none>
Wed, 24 Feb 1993 15:12:49 +0000 (15:12 +0000)
committerceriel <none@none>
Wed, 24 Feb 1993 15:12:49 +0000 (15:12 +0000)
lang/m2/libm2/RealConver.mod

index 493dc91..c663f5e 100644 (file)
@@ -56,6 +56,12 @@ IMPLEMENTATION MODULE RealConversions;
        pointpos := 0;
        sign := r < 0.0D;
        IF sign THEN r := -r END;
+       ok := TRUE;
+       IF NOT (r / 10.0D < r) THEN
+               (* assume Nan or Infinity *)
+               r := 0.0D;
+               ok := FALSE;
+       END;
        IF r # 0.0D THEN
                IF r >= 10.0D THEN
                        FOR i := 1 TO 6 DO
@@ -81,7 +87,6 @@ IMPLEMENTATION MODULE RealConversions;
                INC(pointpos);
        END;
        ind1 := 0;
-       ok := TRUE;
        ind2 := ndigits+1;
 
        IF NOT ecvtflag THEN