remove superfluous + when printing complex numbers with negative ratio imaginary parts

This commit is contained in:
Alex Shinn 2021-05-26 10:05:40 +09:00
parent 05ca40fa51
commit 8247e13baf

View file

@ -1046,11 +1046,14 @@ SEXP_API sexp sexp_make_unsigned_integer(sexp ctx, sexp_luint_t x);
#define sexp_negativep(x) (sexp_exact_negativep(x) || \ #define sexp_negativep(x) (sexp_exact_negativep(x) || \
(sexp_flonump(x) && sexp_flonum_value(x) < 0)) (sexp_flonump(x) && sexp_flonum_value(x) < 0))
#define sexp_positivep(x) (!(sexp_negativep(x))) #define sexp_positivep(x) (!(sexp_negativep(x)))
#define sexp_pedantic_negativep(x) (sexp_exact_negativep(x) || \ #define sexp_pedantic_negativep(x) ( \
(sexp_flonump(x) && \ sexp_exact_negativep(x) || \
((sexp_flonum_value(x) < 0) || \ (sexp_ratiop(x) && \
(sexp_flonum_value(x) == 0 && \ sexp_exact_negativep(sexp_ratio_numerator(x))) || \
1.0 / sexp_flonum_value(x) < 0)))) (sexp_flonump(x) && \
((sexp_flonum_value(x) < 0) || \
(sexp_flonum_value(x) == 0 && \
1.0 / sexp_flonum_value(x) < 0))))
#if SEXP_USE_BIGNUMS #if SEXP_USE_BIGNUMS
#define sexp_oddp(x) (sexp_fixnump(x) ? sexp_unbox_fixnum(x) & 1 : \ #define sexp_oddp(x) (sexp_fixnump(x) ? sexp_unbox_fixnum(x) & 1 : \