- *
- * @param level cut-off in recursive evaluation */
-ex add::eval(int level) const
-{
- std::auto_ptr<epvector> evaled_seqp = evalchildren(level);
- if (evaled_seqp.get()) {
- // do more evaluation later
- return (new add(evaled_seqp, overall_coeff))->
- setflag(status_flags::dynallocated);
- }
-
-#ifdef DO_GINAC_ASSERT
- epvector::const_iterator i = seq.begin(), end = seq.end();
- while (i != end) {
- GINAC_ASSERT(!is_exactly_a<add>(i->rest));
- if (is_exactly_a<numeric>(i->rest))
- dbgprint();
- GINAC_ASSERT(!is_exactly_a<numeric>(i->rest));
- ++i;
- }
-#endif // def DO_GINAC_ASSERT
-