mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-20 14:19:18 +02:00
fixing = for complex numbers, which otherwise can't be ordered
This commit is contained in:
parent
72591432fa
commit
5a1981bb0c
1 changed files with 11 additions and 0 deletions
11
vm.c
11
vm.c
|
@ -1617,6 +1617,17 @@ sexp sexp_apply (sexp ctx, sexp proc, sexp args) {
|
|||
i = tmp1 == tmp2;
|
||||
#if SEXP_USE_BIGNUMS
|
||||
_ARG1 = sexp_make_boolean(i);
|
||||
#if SEXP_USE_COMPLEX
|
||||
} else if (sexp_complexp(tmp1)) {
|
||||
if (!sexp_complexp(tmp2)) {
|
||||
_ARG1 = SEXP_FALSE;
|
||||
} else {
|
||||
i = (sexp_complex_real(tmp1) == sexp_complex_real(tmp2)
|
||||
|| (sexp_flonump(tmp1) && (sexp_flonum_value(tmp1) == (sexp_flonump(tmp2) ? sexp_flonum_value(tmp2) : sexp_unbox_fixnum(tmp2))))
|
||||
|| (sexp_flonump(tmp2) && (sexp_flonum_value(tmp2) == sexp_unbox_fixnum(tmp2))));
|
||||
_ARG1 = sexp_make_boolean(i);
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
_ARG1 = sexp_compare(ctx, tmp1, tmp2);
|
||||
sexp_check_exception();
|
||||
|
|
Loading…
Add table
Reference in a new issue