CppADCodeGen 2.4.3
A C++ Algorithmic Differentiation Package with Source Code Generation
|
#include <evaluator.hpp>
Public Types | |
using | Base = EvaluatorOperations< ScalarIn, ScalarOut, ActiveOut, Evaluator< ScalarIn, ScalarOut, ActiveOut > > |
using | NodeIn = OperationNode< ScalarIn > |
using | ArgIn = Argument< ScalarIn > |
Public Member Functions | |
Evaluator (CodeHandler< ScalarIn > &handler) | |
bool | isUnderEvaluation () |
std::vector< ActiveOut > | evaluate (ArrayView< const ActiveOut > indepNew, ArrayView< const CG< ScalarIn > > depOld) |
void | evaluate (ArrayView< const ActiveOut > indepNew, ArrayView< ActiveOut > depNew, ArrayView< const CG< ScalarIn > > depOld) |
void | evaluate (const ActiveOut *indepNew, size_t indepSize, ActiveOut *depNew, const CG< ScalarIn > *depOld, size_t depSize) |
Protected Types | |
using | SourceCodePath = typename CodeHandler< ScalarIn >::SourceCodePath |
Protected Member Functions | |
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) |
ActiveOut | evalArg (const std::vector< Argument< ScalarIn > > &args, size_t pos) |
ActiveOut | evalArg (const Argument< ScalarIn > &arg, size_t pos) |
void | prepareNewEvaluation () |
void | clear () |
void | analyzeOutIndeps (const ActiveOut *indep, size_t n) |
ActiveOut | evalCG (const CG< ScalarIn > &dep) |
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) |
Protected Attributes | |
CodeHandler< ScalarIn > & | handler_ |
const ActiveOut * | indep_ |
CodeHandlerVector< ScalarIn, std::unique_ptr< ActiveOut > > | evals_ |
std::map< size_t, std::vector< ActiveOut > * > | evalsArrays_ |
std::map< size_t, std::vector< ActiveOut > * > | evalsSparseArrays_ |
bool | underEval_ |
size_t | depth_ |
SourceCodePath | path_ |
An evaluator allows to reprocess operations defined in an operation graph for a different set of independent variables and (possibly) data types.
Definition at line 694 of file evaluator.hpp.
|
inherited |
Definition at line 354 of file evaluator.hpp.
using CppAD::cg::Evaluator< ScalarIn, ScalarOut, ActiveOut >::Base = EvaluatorOperations<ScalarIn, ScalarOut, ActiveOut, Evaluator<ScalarIn, ScalarOut, ActiveOut> > |
Definition at line 696 of file evaluator.hpp.
|
inherited |
Definition at line 353 of file evaluator.hpp.
|
protectedinherited |
Definition at line 48 of file evaluator.hpp.
|
inline |
Definition at line 699 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 211 of file evaluator.hpp.
|
inlineprotectedinherited |
clean-up
Definition at line 197 of file evaluator.hpp.
Referenced by CppAD::cg::EvaluatorCG< ScalarIn, ScalarOut, FinalEvaluatorType >::clear(), and CppAD::cg::EvaluatorBase< ScalarIn, ScalarOut, ActiveOut, FinalEvaluatorType >::evaluate().
|
inlineprotectedinherited |
Definition at line 487 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 493 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 499 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 505 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 230 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 225 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 281 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 511 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 527 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 481 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 533 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 680 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 216 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 551 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 557 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 563 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 545 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 539 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 569 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 581 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 575 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 587 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 593 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 599 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 604 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 670 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 610 of file evaluator.hpp.
|
inlineprotectedinherited |
Clones a node with the new type. Override this method to add a custom node generation behaviour which does not follow the original operation graph.
node | the original node |
Definition at line 374 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 242 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 616 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 622 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 628 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 640 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 634 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 306 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 646 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 652 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 664 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 658 of file evaluator.hpp.
|
inlineinherited |
Performs all the operations required to calculate the dependent variables with a (potentially) new data type
indepNew | The new independent variables. |
depNew | The new dependent variable vector to be computed. |
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) |
CGException | on error (such as an different sizes of depNew and depOld or an unhandled operation type) |
Definition at line 114 of file evaluator.hpp.
|
inlineinherited |
Performs all the operations required to calculate the dependent variables with a (potentially) new data type
indepNew | The new independent variables. |
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) |
CGException | on error (such as an unhandled operation type) |
Definition at line 93 of file evaluator.hpp.
Referenced by CppAD::cg::CodeHandler< Base >::collectVariable(), CppAD::cg::CodeHandler< Base >::collectVariableAddSub(), CppAD::cg::EvaluatorBase< ScalarIn, ScalarOut, ActiveOut, FinalEvaluatorType >::evaluate(), CppAD::cg::EvaluatorBase< ScalarIn, ScalarOut, ActiveOut, FinalEvaluatorType >::evaluate(), CppAD::cg::BipartiteGraph< Base >::generateNewModel(), and CppAD::cg::DummyDerivatives< Base >::generateReorderedModel().
|
inlineinherited |
Performs all the operations required to calculate the dependent variables with a (potentially) new data type
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. |
CGException | on error (such as an unhandled operation type) |
Definition at line 137 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 676 of file evaluator.hpp.
|
inlineinherited |
Definition at line 78 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 190 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 684 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 267 of file evaluator.hpp.
|
protectedinherited |
Definition at line 56 of file evaluator.hpp.
|
protectedinherited |
Definition at line 52 of file evaluator.hpp.
|
protectedinherited |
Definition at line 53 of file evaluator.hpp.
|
protectedinherited |
Definition at line 54 of file evaluator.hpp.
|
protectedinherited |
Definition at line 50 of file evaluator.hpp.
|
protectedinherited |
Definition at line 51 of file evaluator.hpp.
|
protectedinherited |
Definition at line 57 of file evaluator.hpp.
|
protectedinherited |
Definition at line 55 of file evaluator.hpp.