~ chicken-core (master) 9925ac280cbdd4fd9a8f8899dc2cc7fd425ec048


commit 9925ac280cbdd4fd9a8f8899dc2cc7fd425ec048
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Jul 14 21:17:19 2026 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Tue Jul 14 21:17:19 2026 +0200

    make-rectangular returns complex if imag part is inexact zero

diff --git a/library.scm b/library.scm
index 5810b66d..c88fdd61 100644
--- a/library.scm
+++ b/library.scm
@@ -2322,7 +2322,7 @@ EOF
 (define-inline (%cplxnum-imag c) (##core#inline "C_u_i_cplxnum_imag" c))
 
 (define (make-complex r i)
-  (if (or (eq? i 0) (and (##core#inline "C_i_flonump" i) (fp= i 0.0)))
+  (if (eq? i 0)
       r
       (##core#inline_allocate ("C_a_i_cplxnum" 3)
 			      (if (inexact? i) (exact->inexact r) r)
Trap