~ chicken-core (master) d6c0e7aea5585b080136690724408f3e988c3639


commit d6c0e7aea5585b080136690724408f3e988c3639
Author:     Peter McGoron <code@mcgoron.com>
AuthorDate: Wed Jul 29 17:10:03 2026 -0400
Commit:     Felix Winkelmann <felix.winkelmann@bevuta.com>
CommitDate: Wed Sep 9 13:45:43 2026 +0200

    Change gauche tests
    
    (* 0.0 +i) should return a complex number with an inexact zero
    imaginary part, because of
    
        (* 0.0 +i) = (make-rectangular (- (* 0.0 0) (* +i 0))
                                       (+ (* 1 0.0) (* 0 0)))
                   = (make-rectangular 0 0.0)
    
    In MIT-Scheme and Gambit, this is a mixed-exactness number.
    CHICKEN doesn't have those, so this is 0.0+0.0i.

diff --git a/tests/numbers-test-gauche.scm b/tests/numbers-test-gauche.scm
index 6a52da00..5b9a84a2 100644
--- a/tests/numbers-test-gauche.scm
+++ b/tests/numbers-test-gauche.scm
@@ -1204,8 +1204,8 @@
 (test-equal "1.0 * ratnum"  (apply * '(1.0 1/2)) 0.5)
 
 ;; Fixed for exactness (Gauche represents zero always exactly?)
-(test-equal "flonum * 0"  (apply * '(3.0 0)) 0.0)
-(test-equal "0 * flonum"  (apply * '(0 3.0)) 0.0)
+(test-equal "flonum * 0"  (apply * '(3.0 0)) 0)
+(test-equal "0 * flonum"  (apply * '(0 3.0)) 0)
 (test-equal "flonum * 1"  (apply * '(3.0 1)) 3.0)
 (test-equal "1 * flonum"  (apply * '(1 3.0)) 3.0)
 
@@ -1222,8 +1222,8 @@
 (test-equal "compnum * 1" (* 1 +i) +i)
 (test-equal "1 * compnum" (* +i 1) +i)
 
-(test-equal "compnum * 0.0" (* 0.0 +i) 0.0+0.0i)
-(test-equal "0.0 * compnum" (* +i 0.0) 0.0+0.0i)
+(test-equal "compnum * 0.0" (* 0.0 +i) +0.0i)
+(test-equal "0.0 * compnum" (* +i 0.0) +0.0i)
 (test-equal "compnum * 1.0" (* 1.0 +i) +1.0i)
 (test-equal "1.0 * compnum" (* +i 1.0) +1.0i))
 
Trap