CppADCodeGen
2.4.3
A C++ Algorithmic Differentiation Package with Source Code Generation
|
Public Types | |
using | ActiveIn = CG< ScalarIn > |
using | ActiveOut = CG< ScalarOut > |
using | NodeIn = OperationNode< ScalarIn > |
using | NodeOut = OperationNode< ScalarOut > |
using | ArgIn = Argument< ScalarIn > |
using | ArgOut = Argument< ScalarOut > |
using | Base = EvaluatorBase< ScalarIn, ScalarOut, CG< ScalarOut >, FinalEvaluatorType > |
Public Member Functions | |
EvaluatorCG (CodeHandler< ScalarIn > &handler) | |
void | setPrintOutPrintOperations (bool print) |
bool | isPrintOutPrintOperations () const |
Protected Types | |
using | Super = EvaluatorOperations< ScalarIn, ScalarOut, CG< ScalarOut >, FinalEvaluatorType > |
Protected Member Functions | |
void | analyzeOutIndeps (const ActiveOut *indep, size_t n) |
void | clear () |
void | processActiveOut (const NodeIn &node, ActiveOut &a) |
ActiveOut | evalPrint (const NodeIn &node) |
void | evalAtomicOperation (const NodeIn &node) |
ActiveOut | evalArrayElement (const NodeIn &node) |
ActiveOut | makeArray (const NodeIn &node) |
ActiveOut | makeArray (const NodeIn &node, std::vector< ScalarOut > &values, bool &valuesDefined, bool &allParameters) |
ActiveOut | makeDenseArray (const NodeIn &node) |
ActiveOut | makeSparseArray (const NodeIn &node) |
CG< ScalarOut > | evalOperation (OperationNode< ScalarIn > &node) |
CG< ScalarOut > | evalAssign (const NodeIn &node) |
CG< ScalarOut > | evalAbs (const NodeIn &node) |
CG< ScalarOut > | evalAcos (const NodeIn &node) |
CG< ScalarOut > | evalAdd (const NodeIn &node) |
CG< ScalarOut > | evalAlias (const NodeIn &node) |
CG< ScalarOut > | evalAsin (const NodeIn &node) |
CG< ScalarOut > | evalAtan (const NodeIn &node) |
CG< ScalarOut > | evalCompareLt (const NodeIn &node) |
CG< ScalarOut > | evalCompareLe (const NodeIn &node) |
CG< ScalarOut > | evalCompareEq (const NodeIn &node) |
CG< ScalarOut > | evalCompareGe (const NodeIn &node) |
CG< ScalarOut > | evalCompareGt (const NodeIn &node) |
CG< ScalarOut > | evalCompareNe (const NodeIn &node) |
CG< ScalarOut > | evalCosh (const NodeIn &node) |
CG< ScalarOut > | evalCos (const NodeIn &node) |
CG< ScalarOut > | evalDiv (const NodeIn &node) |
CG< ScalarOut > | evalExp (const NodeIn &node) |
CG< ScalarOut > | evalIndependent (const NodeIn &node) |
CG< ScalarOut > | evalLog (const NodeIn &node) |
CG< ScalarOut > | evalMul (const NodeIn &node) |
CG< ScalarOut > | evalPow (const NodeIn &node) |
CG< ScalarOut > | evalSign (const NodeIn &node) |
CG< ScalarOut > | evalSinh (const NodeIn &node) |
CG< ScalarOut > | evalSin (const NodeIn &node) |
CG< ScalarOut > | evalSqrt (const NodeIn &node) |
CG< ScalarOut > | evalSub (const NodeIn &node) |
CG< ScalarOut > | evalTanh (const NodeIn &node) |
CG< ScalarOut > | evalTan (const NodeIn &node) |
CG< ScalarOut > | evalMinus (const NodeIn &node) |
CG< ScalarOut > | evalUnsupportedOperation (const NodeIn &node) |
CG< ScalarOut > | evalArg (const std::vector< Argument< ScalarIn > > &args, size_t pos) |
CG< ScalarOut > | evalArg (const Argument< ScalarIn > &arg, size_t pos) |
Static Protected Member Functions | |
static void | processArray (const std::vector< ActiveOut > &array, std::vector< ScalarOut > &values, bool &valuesDefined, bool &allParameters) |
static bool | isParameters (const CppAD::vector< ActiveOut > &tx) |
static bool | isValuesDefined (const std::vector< ArgOut > &tx) |
Protected Attributes | |
CodeHandler< ScalarOut > * | outHandler_ |
std::map< const NodeIn *, std::vector< ScalarOut * > > | atomicEvalResults_ |
bool | printOutPriOperations_ |
Specialization of class Evaluator for an output active type of CG<Base>. This class should not be instantiated directly.
Definition at line 27 of file evaluator_cg.hpp.
|
inlineprotected |
Definition at line 88 of file evaluator_cg.hpp.
|
inlineprotected |
Definition at line 98 of file evaluator_cg.hpp.
|
inlineprotected |
Definition at line 229 of file evaluator_cg.hpp.
|
inlineprotected |
Definition at line 152 of file evaluator_cg.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.
|
inlineprotected |
Definition at line 127 of file evaluator_cg.hpp.
|
inline |
Whether or not the nodes with an operation type 'Pri' are printed out during the evaluation.
Definition at line 78 of file evaluator_cg.hpp.
|
inlineprotected |
Definition at line 114 of file evaluator_cg.hpp.
|
inline |
Defines whether or not to print out the nodes with an operation type 'Pri' during the evaluation.
Definition at line 70 of file evaluator_cg.hpp.
|
protected |
Cache for the evaluation of atomic operations
Definition at line 51 of file evaluator_cg.hpp.
Referenced by CppAD::cg::EvaluatorCG< Scalar, Scalar, EvaluatorCloneSolve< Scalar > >::clear().
|
protected |
The source code handler used to create the evaluation results
Definition at line 47 of file evaluator_cg.hpp.
Referenced by CppAD::cg::EvaluatorCG< Scalar, Scalar, EvaluatorCloneSolve< Scalar > >::analyzeOutIndeps(), CppAD::cg::EvaluatorCG< Scalar, Scalar, EvaluatorCloneSolve< Scalar > >::evalArrayElement(), and CppAD::cg::EvaluatorCG< Scalar, Scalar, EvaluatorCloneSolve< Scalar > >::evalPrint().
|
protected |
Whether or not the nodes with an operation type 'Pri' are printed out during the evaluation.
Definition at line 56 of file evaluator_cg.hpp.
Referenced by CppAD::cg::EvaluatorCG< Scalar, Scalar, EvaluatorCloneSolve< Scalar > >::evalPrint(), CppAD::cg::EvaluatorCG< Scalar, Scalar, EvaluatorCloneSolve< Scalar > >::isPrintOutPrintOperations(), and CppAD::cg::EvaluatorCG< Scalar, Scalar, EvaluatorCloneSolve< Scalar > >::setPrintOutPrintOperations().