From a1057fa88ebcfc36da17114ead30fae4933df707 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Sun, 27 Nov 2011 21:37:35 +0900 Subject: [PATCH] Complex normalization takes exactness into account. --- sexp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sexp.c b/sexp.c index 4f94018c..44e18590 100644 --- a/sexp.c +++ b/sexp.c @@ -1855,8 +1855,10 @@ sexp sexp_make_complex (sexp ctx, sexp real, sexp image) { sexp sexp_complex_normalize (sexp cpx) { return sexp_complexp(cpx) && (sexp_complex_imag(cpx) == SEXP_ZERO - || (sexp_flonump(sexp_complex_imag(cpx)) - && sexp_flonum_value(sexp_complex_imag(cpx)) == 0.0)) + /* Only normalize for an exact zero imaginary part. */ + /* || (sexp_flonump(sexp_complex_imag(cpx)) */ + /* && sexp_flonum_value(sexp_complex_imag(cpx)) == 0.0) */ + ) ? sexp_complex_real(cpx) : cpx; }