c.s << '+';
overall_coeff.print(c, precedence());
}
-
+
if (precedence() <= level)
c.s << ")";
+ } else if (is_a<print_python_repr>(c)) {
+
+ c.s << class_name() << '(';
+ op(0).print(c);
+ for (unsigned i=1; i<nops(); ++i) {
+ c.s << ',';
+ op(i).print(c);
+ }
+ c.s << ')';
+
} else {
if (precedence() <= level) {
{
if (is_ex_exactly_of_type(e,mul)) {
const mul &mulref(ex_to<mul>(e));
- ex numfactor = mulref.overall_coeff;
+ const ex &numfactor = mulref.overall_coeff;
mul *mulcopyp = new mul(mulref);
mulcopyp->overall_coeff = _ex1;
mulcopyp->clearflag(status_flags::evaluated);
GINAC_ASSERT(is_exactly_a<numeric>(c));
if (is_ex_exactly_of_type(e, mul)) {
const mul &mulref(ex_to<mul>(e));
- ex numfactor = mulref.overall_coeff;
+ const ex &numfactor = mulref.overall_coeff;
mul *mulcopyp = new mul(mulref);
mulcopyp->overall_coeff = _ex1;
mulcopyp->clearflag(status_flags::evaluated);
if (ex_to<numeric>(p.coeff).is_equal(_num1))
return p.rest;
else
- return p.rest*p.coeff;
+ return (new mul(p.rest,p.coeff))->setflag(status_flags::dynallocated);
}
ex add::expand(unsigned options) const