Public Member Functions | |
| UserDefOpEvaluator (const UserDefOpElement *expr, const RCP< const UserDefOpCommonEvaluator > &commonEval, const EvalContext &context) | |
| virtual | ~UserDefOpEvaluator () |
| virtual void | evalArgDerivs (const EvalManager &mgr, const Array< RCP< Array< double > > > &constArgRes, const Array< RCP< Array< RCP< EvalVector > > > > &vArgResults, Array< double > &constArgDerivs, Array< RCP< EvalVector > > &varArgDerivs) const |
| TEUCHOS_TIMER (evalTimer,"user defined nonlinear op evaluation") | |
| void | resetNumCalls () const |
Protected Member Functions | |
| Array< int > | findRequiredOrders (const ExprWithChildren *expr, const EvalContext &context) |
| const UserDefFunctorElement * | functor () const |
| const UserDefOpCommonEvaluator * | commonEval () const |
| int | myIndex () const |
Private Attributes | |
| Array< int > | argValueIndex_ |
| Array< int > | argValueIsConstant_ |
| const UserDefFunctorElement * | functor_ |
| RCP< const UserDefOpCommonEvaluator > | commonEval_ |
| int | maxOrder_ |
| int | numVarArgDerivs_ |
| int | numConstArgDerivs_ |
| bool | allArgsAreConstant_ |
Definition at line 62 of file SundanceUserDefOpEvaluator.hpp.
| UserDefOpEvaluator::UserDefOpEvaluator | ( | const UserDefOpElement * | expr, |
| const RCP< const UserDefOpCommonEvaluator > & | commonEval, | ||
| const EvalContext & | context | ||
| ) |
Definition at line 61 of file SundanceUserDefOpEvaluator.cpp.
References Sundance::SparsitySuperset::deriv(), Sundance::UserDefOpElement::getArgDerivIndices(), Sundance::init(), Sundance::ExprWithChildren::numChildren(), Sundance::SparsitySuperset::numDerivs(), Sundance::MultipleDeriv::order(), Sundance::SparsitySuperset::state(), SUNDANCE_VERB_EXTREME, SUNDANCE_VERB_HIGH, SUNDANCE_VERB_LOW, Sundance::ExprBase::toString(), and Sundance::VectorDeriv.
| virtual Sundance::UserDefOpEvaluator::~UserDefOpEvaluator | ( | ) | [inline, virtual] |
Definition at line 71 of file SundanceUserDefOpEvaluator.hpp.
| const UserDefOpCommonEvaluator* Sundance::UserDefOpEvaluator::commonEval | ( | ) | const [inline, protected] |
Definition at line 97 of file SundanceUserDefOpEvaluator.hpp.
References commonEval_.
Referenced by resetNumCalls().
| void UserDefOpEvaluator::evalArgDerivs | ( | const EvalManager & | mgr, |
| const Array< RCP< Array< double > > > & | constArgRes, | ||
| const Array< RCP< Array< RCP< EvalVector > > > > & | vArgResults, | ||
| Array< double > & | constArgDerivs, | ||
| Array< RCP< EvalVector > > & | varArgDerivs | ||
| ) | const [virtual] |
Implements Sundance::ChainRuleEvaluator.
Definition at line 198 of file SundanceUserDefOpEvaluator.cpp.
| Array< int > UserDefOpEvaluator::findRequiredOrders | ( | const ExprWithChildren * | expr, |
| const EvalContext & | context | ||
| ) | [protected] |
Definition at line 163 of file SundanceUserDefOpEvaluator.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::elements(), Sundance::Set< Key, Compare >::end(), Sundance::ExprWithChildren::findQ_W(), Sundance::EvaluatableExpr::findR(), maxOrder_, Sundance::Set< Key, Compare >::put(), and SUNDANCE_VERB_HIGH.
| const UserDefFunctorElement* Sundance::UserDefOpEvaluator::functor | ( | ) | const [inline, protected] |
Definition at line 95 of file SundanceUserDefOpEvaluator.hpp.
References functor_.
| int Sundance::UserDefOpEvaluator::myIndex | ( | ) | const [inline, protected] |
Definition at line 100 of file SundanceUserDefOpEvaluator.hpp.
References functor_, and Sundance::UserDefFunctorElement::myIndex().
| void UserDefOpEvaluator::resetNumCalls | ( | ) | const [virtual] |
Reimplemented from Sundance::ChainRuleEvaluator.
Definition at line 154 of file SundanceUserDefOpEvaluator.cpp.
References commonEval(), and Sundance::UserDefOpCommonEvaluator::markCacheAsInvalid().
| Sundance::UserDefOpEvaluator::TEUCHOS_TIMER | ( | evalTimer | , |
| "user defined nonlinear op evaluation" | |||
| ) |
bool Sundance::UserDefOpEvaluator::allArgsAreConstant_ [private] |
Definition at line 110 of file SundanceUserDefOpEvaluator.hpp.
Array<int> Sundance::UserDefOpEvaluator::argValueIndex_ [private] |
Definition at line 103 of file SundanceUserDefOpEvaluator.hpp.
Array<int> Sundance::UserDefOpEvaluator::argValueIsConstant_ [private] |
Definition at line 104 of file SundanceUserDefOpEvaluator.hpp.
RCP<const UserDefOpCommonEvaluator> Sundance::UserDefOpEvaluator::commonEval_ [private] |
Definition at line 106 of file SundanceUserDefOpEvaluator.hpp.
Referenced by commonEval().
const UserDefFunctorElement* Sundance::UserDefOpEvaluator::functor_ [private] |
Definition at line 105 of file SundanceUserDefOpEvaluator.hpp.
int Sundance::UserDefOpEvaluator::maxOrder_ [private] |
Definition at line 107 of file SundanceUserDefOpEvaluator.hpp.
Referenced by findRequiredOrders().
int Sundance::UserDefOpEvaluator::numConstArgDerivs_ [private] |
Definition at line 109 of file SundanceUserDefOpEvaluator.hpp.
int Sundance::UserDefOpEvaluator::numVarArgDerivs_ [private] |
Definition at line 108 of file SundanceUserDefOpEvaluator.hpp.