mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-07-07 05:06:37 +02:00
Complex normalization takes exactness into account.
This commit is contained in:
parent
3675f3a5ea
commit
a1057fa88e
1 changed files with 4 additions and 2 deletions
6
sexp.c
6
sexp.c
|
@ -1855,8 +1855,10 @@ sexp sexp_make_complex (sexp ctx, sexp real, sexp image) {
|
||||||
sexp sexp_complex_normalize (sexp cpx) {
|
sexp sexp_complex_normalize (sexp cpx) {
|
||||||
return sexp_complexp(cpx)
|
return sexp_complexp(cpx)
|
||||||
&& (sexp_complex_imag(cpx) == SEXP_ZERO
|
&& (sexp_complex_imag(cpx) == SEXP_ZERO
|
||||||
|| (sexp_flonump(sexp_complex_imag(cpx))
|
/* Only normalize for an exact zero imaginary part. */
|
||||||
&& sexp_flonum_value(sexp_complex_imag(cpx)) == 0.0))
|
/* || (sexp_flonump(sexp_complex_imag(cpx)) */
|
||||||
|
/* && sexp_flonum_value(sexp_complex_imag(cpx)) == 0.0) */
|
||||||
|
)
|
||||||
? sexp_complex_real(cpx) : cpx;
|
? sexp_complex_real(cpx) : cpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue