~ 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