From: Richard Kreckel Date: Tue, 27 Aug 2002 17:18:07 +0000 (+0000) Subject: * Fix CLN output of -2*a-2*b. (Chris Dams) X-Git-Tag: release_1-0-11~8 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=3bdaf761e882dbed97e60a7078df641850349c7e * Fix CLN output of -2*a-2*b. (Chris Dams) --- diff --git a/ginac/add.cpp b/ginac/add.cpp index 821649d2..7c496bc8 100644 --- a/ginac/add.cpp +++ b/ginac/add.cpp @@ -141,9 +141,11 @@ void add::print(const print_context & c, unsigned level) const it->rest.print(c, precedence()); } - // Separator is "+", except if the following expression would have a leading minus sign + // 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 && !(it->coeff.info(info_flags::negative) || (it->coeff.is_equal(_num1) && is_exactly_a(it->rest) && it->rest.info(info_flags::negative)))) + if (it != itend + && (is_a(c) // 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 << "+"; }