DEFAULT_UNARCHIVE(expairseq)
//////////
-// functions overriding virtual functions from bases classes
+// functions overriding virtual functions from base classes
//////////
// public
++cit;
}
- return thisexpairseq(v, f(overall_coeff));
+ if (overall_coeff.is_equal(default_overall_coeff()))
+ return thisexpairseq(v, default_overall_coeff());
+ else
+ return thisexpairseq(v, f(overall_coeff));
}
ex expairseq::eval(int level) const
// possible from then on the sequence has changed and must be compacted
bool must_copy = false;
while (itin2!=last) {
- if ((*itin1).rest.compare(itin2->rest)==0) {
- (*itin1).coeff = ex_to<numeric>(itin1->coeff).
- add_dyn(ex_to<numeric>(itin2->coeff));
+ if (itin1->rest.compare(itin2->rest)==0) {
+ itin1->coeff = ex_to<numeric>(itin1->coeff).
+ add_dyn(ex_to<numeric>(itin2->coeff));
if (expair_needs_further_processing(itin1))
needs_further_processing = true;
must_copy = true;