Fix case that wasn't adequately exercised.
authorTaylor R Campbell <campbell@mumble.net>
Fri, 16 Nov 2018 09:09:40 +0000 (09:09 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Fri, 16 Nov 2018 09:09:40 +0000 (09:09 +0000)
src/runtime/numpar.scm
tests/runtime/test-numpar.scm

index d3f5ce8cb087b91e0494dcafbc8eab7c1437899a..4f78bcec62dc04875a54ced9098c105110f2a11b 100644 (file)
@@ -245,7 +245,7 @@ USA.
                                integer rexponent exactness radix sign 2)))
        (else
         (parse-dotted-5 string start end integer rexponent exactness radix
-                        sign))))
+                        sign 10 0))))
 
 (define (parse-exponent-1 string start end integer rexponent exactness radix
                          sign base)
@@ -268,8 +268,8 @@ USA.
     (let ((bexponent (if (eq? #\- esign) (- eint) eint)))
       (if (fix:= start end)
          (finish-real integer rexponent exactness radix sign base bexponent)
-         (parse-decimal-5 string start end integer rexponent exactness radix
-                          sign base bexponent))))
+         (parse-dotted-5 string start end integer rexponent exactness radix
+                         sign base bexponent))))
 
   (and (fix:< start end)
        (let ((esign (string-ref string start)))
@@ -278,9 +278,10 @@ USA.
             (get-digits start #f)))))
 
 (define (parse-dotted-5 string start end integer rexponent exactness radix
-                        sign)
+                        sign base bexponent)
   (parse-complex string start end
-                (finish-real integer rexponent exactness radix sign 10 0)
+                (finish-real integer rexponent exactness radix sign
+                             base bexponent)
                 exactness radix sign))
 \f
 (define (parse-complex string start end real exactness radix sign)
index a2641421cb85f296ef947fbb176e058022783451..e366aa8d311bb1fdafe82f962e7102bdc07af582 100644 (file)
@@ -85,7 +85,7 @@ USA.
 (define-eqv-test "#d#e-100" -100)
 (define-eqv-test "#x#e-100" -256)
 
-(define-eqv-test "#e1e1+1e1i" 10+10i 'xerror)
+(define-eqv-test "#e1e1+1e1i" 10+10i)
 
 (define-eqv-test "#e#x1p10" (expt 2 10))
 (define-eqv-test "#e#x1.1p4" #x11)