void CellDiameterExprEvaluator::internalEval(const EvalManager& mgr, Array<double>& constantResults, Array<RCP<EvalVector> >& vectorResults) const { Tabs tabs(0); SUNDANCE_MSG2(mgr.verb(), tabs << "CellDiameterExprEvaluator::eval() expr=" << expr()->toString()); if (mgr.verb() > 2) { Out::os() << tabs << "sparsity = " << std::endl << tabs << *(this->sparsity)() << std::endl; } if (this->sparsity()->numDerivs() > 0) { vectorResults.resize(1); vectorResults[0] = mgr.popVector(); SUNDANCE_MSG3(mgr.verb(), tabs << "forwarding to evaluation manager"); mgr.evalCellDiameterExpr(expr(), vectorResults[0]); mgr.stack().setVecSize(vectorResults[0]->length()); if (EvalVector::shadowOps()) vectorResults[0]->setString(stringRep_); } else { SUNDANCE_MSG4(mgr.verb(), tabs << "no results requested"); } if (mgr.verb() > 1) { Out::os() << tabs << "results " << std::endl; mgr.showResults(Out::os(), this->sparsity(), vectorResults, constantResults); } }