From: Christian Bauer Date: Thu, 20 Feb 2003 22:42:31 +0000 (+0000) Subject: synced to 1.0 X-Git-Tag: release_1-0-14~2 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=0c718e0dda0d2de1224f39ec5e3c39720e0abfc2;hp=2f683bcc8e46ad4faf224fcda218626cf3e8753b synced to 1.0 --- diff --git a/ginac/add.cpp b/ginac/add.cpp index 706013a3..9edbf139 100644 --- a/ginac/add.cpp +++ b/ginac/add.cpp @@ -144,14 +144,14 @@ void add::print(const print_context & c, unsigned level) const // Separator is "+", except if the following expression would have a leading minus sign or the sign is sitting in parenthesis (as in a ctor) ++it; if (it != itend - && (is_a(c) // sign inside ctor arguments + && (is_a(c) || !it->coeff.info(info_flags::real) // sign inside ctor arguments || !(it->coeff.info(info_flags::negative) || (it->coeff.is_equal(_num1) && is_exactly_a(it->rest) && it->rest.info(info_flags::negative))))) c.s << "+"; } if (!overall_coeff.is_zero()) { if (overall_coeff.info(info_flags::positive) - || is_a(c)) // sign inside ctor argument + || is_a(c) || !overall_coeff.info(info_flags::real)) // sign inside ctor argument c.s << '+'; overall_coeff.print(c, precedence()); }