- pseries::precedence: was missing (thus being inherited from basic).
- add::print(): was not honoring upper_precedence for rest.
+ cit->rest.print(os, precedence);
}
if (precedence<=upper_precedence) os << ")";
}
}
if (precedence<=upper_precedence) os << ")";
}
void pseries::print(std::ostream &os, unsigned upper_precedence) const
{
debugmsg("pseries print", LOGLEVEL_PRINT);
void pseries::print(std::ostream &os, unsigned upper_precedence) const
{
debugmsg("pseries print", LOGLEVEL_PRINT);
+ if (precedence<=upper_precedence) os << "(";
for (epvector::const_iterator i=seq.begin(); i!=seq.end(); ++i) {
// omit zero terms
if (i->rest.is_zero())
for (epvector::const_iterator i=seq.begin(); i!=seq.end(); ++i) {
// omit zero terms
if (i->rest.is_zero())
os << Order(power(var-point,i->coeff));
}
}
os << Order(power(var-point,i->coeff));
}
}
+ if (precedence<=upper_precedence) os << ")";
+//////////
+// static member variables
+//////////
+
+// protected
+
+unsigned pseries::precedence = 38; // for clarity just below add::precedence
+
+//////////
+// global constants
+//////////
const pseries some_pseries;
const std::type_info & typeid_pseries = typeid(some_pseries);
const pseries some_pseries;
const std::type_info & typeid_pseries = typeid(some_pseries);
/** Expansion point */
ex point;
/** Expansion point */
ex point;
+ static unsigned precedence;