CppADCodeGen
2.4.3
A C++ Algorithmic Differentiation Package with Source Code Generation
|
1 #ifndef CPPAD_CG_VARIABLE_NAME_GENERATOR_INCLUDED
2 #define CPPAD_CG_VARIABLE_NAME_GENERATOR_INCLUDED
32 inline FuncArgument(
const std::string& nam,
bool a =
true) :
46 std::vector<FuncArgument> _dependent;
47 std::vector<FuncArgument> _independent;
48 std::vector<FuncArgument> _temporary;
190 size_t maxTempArrayID,
191 size_t maxTempSparseArrayID) = 0;
234 size_t idSecond) = 0;
293 size_t idSecond) = 0;
312 virtual void customFunctionVariableDeclarations(std::ostream& out) {
315 virtual void prepareCustomFunctionVariables(std::ostream& out) {
318 virtual void finalizeCustomFunctionVariables(std::ostream& out) {
321 inline virtual ~VariableNameGenerator() {
virtual std::string generateIndexedIndependent(const OperationNode< Base > &var, size_t id, const IndexPattern &ip)=0
virtual std::string generateTemporaryArray(const OperationNode< Base > &variable, size_t id)=0
virtual size_t getTemporaryVarArrayIndex(const OperationNode< Base > &var, size_t id)=0
virtual const std::vector< FuncArgument > & getIndependent() const
virtual bool isInSameIndependentArray(const OperationNode< Base > &indep1, size_t id1, const OperationNode< Base > &indep2, size_t id2)=0
virtual std::string generateDependent(size_t index)=0
virtual std::string generateTemporarySparseArray(const OperationNode< Base > &variable, size_t id)=0
virtual std::string generateIndexedDependent(const OperationNode< Base > &var, size_t id, const IndexPattern &ip)=0
virtual bool isConsecutiveInTemporaryVarArray(const OperationNode< Base > &varFirst, size_t idFirst, const OperationNode< Base > &varSecond, size_t idSecond)=0
virtual size_t getMaxTemporaryVariableID() const =0
virtual bool isConsecutiveInIndepArray(const OperationNode< Base > &indepFirst, size_t idFirst, const OperationNode< Base > &indepSecond, size_t idSecond)=0
virtual std::string generateIndependent(const OperationNode< Base > &variable, size_t id)=0
virtual const std::vector< FuncArgument > & getDependent() const
virtual std::string generateTemporary(const OperationNode< Base > &variable, size_t id)=0
virtual size_t getMaxTemporarySparseArrayVariableID() const =0
virtual const std::string & getIndependentArrayName(const OperationNode< Base > &indep, size_t id)=0
virtual bool isInSameTemporaryVarArray(const OperationNode< Base > &var1, size_t id1, const OperationNode< Base > &var2, size_t id2)=0
virtual const std::vector< FuncArgument > & getTemporary() const
virtual size_t getIndependentArrayIndex(const OperationNode< Base > &indep, size_t id)=0
virtual size_t getMinTemporaryVariableID() const =0
virtual size_t getMaxTemporaryArrayVariableID() const =0
virtual void setTemporaryVariableID(size_t minTempID, size_t maxTempID, size_t maxTempArrayID, size_t maxTempSparseArrayID)=0
virtual const std::string & getTemporaryVarArrayName(const OperationNode< Base > &var, size_t id)=0