|
ActiveOut | evalOperation (OperationNode< ScalarIn > &node) |
|
ActiveOut | evalAssign (const NodeIn &node) |
|
ActiveOut | evalAbs (const NodeIn &node) |
|
ActiveOut | evalAcos (const NodeIn &node) |
|
ActiveOut | evalAdd (const NodeIn &node) |
|
ActiveOut | evalAlias (const NodeIn &node) |
|
ActiveOut | evalArrayElement (const NodeIn &node) |
|
ActiveOut | evalAsin (const NodeIn &node) |
|
ActiveOut | evalAtan (const NodeIn &node) |
|
ActiveOut | evalCompareLt (const NodeIn &node) |
|
ActiveOut | evalCompareLe (const NodeIn &node) |
|
ActiveOut | evalCompareEq (const NodeIn &node) |
|
ActiveOut | evalCompareGe (const NodeIn &node) |
|
ActiveOut | evalCompareGt (const NodeIn &node) |
|
ActiveOut | evalCompareNe (const NodeIn &node) |
|
ActiveOut | evalCosh (const NodeIn &node) |
|
ActiveOut | evalCos (const NodeIn &node) |
|
ActiveOut | evalDiv (const NodeIn &node) |
|
ActiveOut | evalExp (const NodeIn &node) |
|
ActiveOut | evalIndependent (const NodeIn &node) |
|
ActiveOut | evalLog (const NodeIn &node) |
|
ActiveOut | evalMul (const NodeIn &node) |
|
ActiveOut | evalPow (const NodeIn &node) |
|
ActiveOut | evalPrint (const NodeIn &node) |
|
ActiveOut | evalSign (const NodeIn &node) |
|
ActiveOut | evalSinh (const NodeIn &node) |
|
ActiveOut | evalSin (const NodeIn &node) |
|
ActiveOut | evalSqrt (const NodeIn &node) |
|
ActiveOut | evalSub (const NodeIn &node) |
|
ActiveOut | evalTanh (const NodeIn &node) |
|
ActiveOut | evalTan (const NodeIn &node) |
|
ActiveOut | evalMinus (const NodeIn &node) |
|
ActiveOut | evalUnsupportedOperation (const NodeIn &node) |
|
void | evalAtomicOperation (const NodeIn &node) |
|
void | processActiveOut (const NodeIn &node, ActiveOut &a) |
|
void | prepareNewEvaluation () |
|
void | clear () |
|
void | analyzeOutIndeps (const ActiveOut *indep, size_t n) |
|
ActiveOut | evalCG (const CG< ScalarIn > &dep) |
|
ActiveOut | evalArg (const std::vector< Argument< ScalarIn > > &args, size_t pos) |
|
ActiveOut | evalArg (const Argument< ScalarIn > &arg, size_t pos) |
|
const ActiveOut & | evalOperations (OperationNode< ScalarIn > &node) |
|
ActiveOut * | saveEvaluation (const OperationNode< ScalarIn > &node, ActiveOut &&result) |
|
std::vector< ActiveOut > & | evalArrayCreationOperation (const OperationNode< ScalarIn > &node) |
|
std::vector< ActiveOut > & | evalSparseArrayCreationOperation (const OperationNode< ScalarIn > &node) |
|
template<class ScalarIn, class ScalarOut, class ActiveOut, class FinalEvaluatorType>
class CppAD::cg::EvaluatorOperations< ScalarIn, ScalarOut, ActiveOut, FinalEvaluatorType >
Defines the default operations for evaluators. Evaluators allow to reprocess operations defined in an operation graph for a different set of independent variables and (possibly) data types.
This allows static polymorphism through curiously recurring template pattern (CRTP). Therefore the default behaviour can be overridden without the use of virtual methods. This class should not be instantiated directly.
Definition at line 24 of file evaluator.hpp.
template<class ScalarIn, class ScalarOut, class ActiveOut, class FinalEvaluatorType>
template<class ScalarIn, class ScalarOut, class ActiveOut, class FinalEvaluatorType>
void CppAD::cg::EvaluatorBase< ScalarIn, ScalarOut, ActiveOut, FinalEvaluatorType >::evaluate |
( |
const ActiveOut * |
indepNew, |
|
|
size_t |
indepSize, |
|
|
ActiveOut * |
depNew, |
|
|
const CG< ScalarIn > * |
depOld, |
|
|
size_t |
depSize |
|
) |
| |
|
inlineinherited |
Performs all the operations required to calculate the dependent variables with a (potentially) new data type
- Parameters
-
indepNew | The new independent variables. |
indepSize | The size of the array of independent variables. |
depNew | The new dependent variable vector that will be created. |
depOld | Dependent variable vector representing the operations that are going to be executed to determine the new variables (all variables must belong to the same code handler) |
depSize | The size of the array of dependent variables. |
- Exceptions
-
CGException | on error (such as an unhandled operation type) |
Definition at line 137 of file evaluator.hpp.