Public Member Functions | |
ProductEvaluator (const ProductExpr *expr, const EvalContext &context) | |
virtual | ~ProductEvaluator () |
virtual void | internalEval (const EvalManager &mgr, Array< double > &constantResults, Array< RCP< EvalVector > > &vectorResults) const |
TEUCHOS_TIMER (evalTimer,"product evaluation") | |
Private Types | |
enum | ProductParity { VecVec, VecConst, ConstVec } |
Private Attributes | |
int | maxOrder_ |
Array< Array< int > > | resultIndex_ |
Array< Array< int > > | resultIsConstant_ |
Array< Array< int > > | hasWorkspace_ |
Array< Array< int > > | workspaceIsLeft_ |
Array< Array< int > > | workspaceIndex_ |
Array< Array< int > > | workspaceCoeffIndex_ |
Array< Array< int > > | workspaceCoeffIsConstant_ |
Array< Array< Array< Array < int > > > > | ccTerms_ |
Array< Array< Array< Array < int > > > > | cvTerms_ |
Array< Array< Array< Array < int > > > > | vcTerms_ |
Array< Array< Array< Array < int > > > > | vvTerms_ |
Array< Array< Array< int > > > | startingVectors_ |
Array< Array< ProductParity > > | startingParities_ |
Definition at line 15 of file SundanceProductEvaluator.hpp.
enum Sundance::ProductEvaluator::ProductParity [private] |
ProductEvaluator::ProductEvaluator | ( | const ProductExpr * | expr, | |
const EvalContext & | context | |||
) |
Definition at line 47 of file SundanceProductEvaluator.cpp.
References Sundance::Evaluator::addConstantIndex(), Sundance::Evaluator::addVectorIndex(), ccTerms_, Sundance::ConstantDeriv, Sundance::Evaluator::constantIndexMap(), ConstVec, cvTerms_, Sundance::EvalContext::evalSetupVerbosity(), hasWorkspace_, Sundance::BinaryEvaluator< ProductExpr >::leftEval(), Sundance::BinaryEvaluator< ProductExpr >::leftSparsity(), Sundance::MultipleDeriv::order(), Playa::Out::os(), Sundance::MultipleDeriv::productRulePermutations(), resultIndex_, resultIsConstant_, Sundance::BinaryEvaluator< ProductExpr >::rightEval(), Sundance::BinaryEvaluator< ProductExpr >::rightSparsity(), Sundance::SubtypeEvaluator< ProductExpr >::sparsity(), startingParities_, startingVectors_, SUNDANCE_MSG1, SUNDANCE_MSG2, SUNDANCE_MSG3, SUNDANCE_MSG4, Sundance::ExprBase::toString(), vcTerms_, VecConst, Sundance::Evaluator::vectorIndexMap(), VecVec, Playa::ObjectWithVerbosity::verb(), vvTerms_, workspaceCoeffIndex_, workspaceCoeffIsConstant_, workspaceIndex_, and workspaceIsLeft_.
virtual Sundance::ProductEvaluator::~ProductEvaluator | ( | ) | [inline, virtual] |
Definition at line 24 of file SundanceProductEvaluator.hpp.
void ProductEvaluator::internalEval | ( | const EvalManager & | mgr, | |
Array< double > & | constantResults, | |||
Array< RCP< EvalVector > > & | vectorResults | |||
) | const [virtual] |
Implements Sundance::Evaluator.
Definition at line 422 of file SundanceProductEvaluator.cpp.
References Playa::Out::os(), Sundance::EvalManager::popVector(), Sundance::EvalManager::showResults(), SUNDANCE_MSG1, SUNDANCE_MSG4, SUNDANCE_MSG5, and Sundance::EvalManager::verb().
Sundance::ProductEvaluator::TEUCHOS_TIMER | ( | evalTimer | , | |
"product evaluation" | ||||
) |
Array<Array<Array<Array<int> > > > Sundance::ProductEvaluator::ccTerms_ [private] |
Array<Array<Array<Array<int> > > > Sundance::ProductEvaluator::cvTerms_ [private] |
Array<Array<int> > Sundance::ProductEvaluator::hasWorkspace_ [private] |
int Sundance::ProductEvaluator::maxOrder_ [private] |
Definition at line 39 of file SundanceProductEvaluator.hpp.
Array<Array<int> > Sundance::ProductEvaluator::resultIndex_ [private] |
Array<Array<int> > Sundance::ProductEvaluator::resultIsConstant_ [private] |
Array<Array<ProductParity> > Sundance::ProductEvaluator::startingParities_ [private] |
Array<Array<Array<int> > > Sundance::ProductEvaluator::startingVectors_ [private] |
Array<Array<Array<Array<int> > > > Sundance::ProductEvaluator::vcTerms_ [private] |
Array<Array<Array<Array<int> > > > Sundance::ProductEvaluator::vvTerms_ [private] |
Array<Array<int> > Sundance::ProductEvaluator::workspaceCoeffIndex_ [private] |
Array<Array<int> > Sundance::ProductEvaluator::workspaceCoeffIsConstant_ [private] |
Array<Array<int> > Sundance::ProductEvaluator::workspaceIndex_ [private] |
Array<Array<int> > Sundance::ProductEvaluator::workspaceIsLeft_ [private] |