1#ifndef CPPAD_CG_MODEL_C_SOURCE_GEN_FOR0_INCLUDED
2#define CPPAD_CG_MODEL_C_SOURCE_GEN_FOR0_INCLUDED
23 const std::string jobName =
"model (zero-order forward)";
25 startingJob(
"'" + jobName +
"'", JobTimer::GRAPH);
28 handler.setJobTimer(_jobTimer);
30 std::vector<CGBase> indVars(
_fun.Domain());
33 for (
size_t i = 0; i < indVars.size(); i++) {
34 indVars[i].setValue(
_x[i]);
38 std::vector<CGBase> dep;
41 dep =
_fun.Forward(0, indVars);
55 langC.setGenerateFunction(
_name +
"_" + FUNCTION_FORWAD_ZERO);
57 std::ostringstream code;
58 std::unique_ptr<VariableNameGenerator<Base> > nameGen(createVariableNameGenerator());
void makeVariables(VectorCG &variables)
virtual void generateCode(std::ostream &out, Language< Base > &lang, CppAD::vector< CGB > &dependent, VariableNameGenerator< Base > &nameGen, const std::string &jobName="source")
virtual void setParameterPrecision(size_t p)
void setMaxOperationsPerAssignment(size_t maxOperationsPerAssignment)
virtual void setMaxAssignmentsPerFunction(size_t maxAssignmentsPerFunction, std::map< std::string, std::string > *sources)
virtual std::vector< CGBase > prepareForward0WithLoops(CodeHandler< Base > &handler, const std::vector< CGBase > &x)
std::vector< std::string > _atomicFunctions
size_t _maxOperationsPerAssignment
const std::string _baseTypeName
size_t _parameterPrecision
std::set< LoopModel< Base > * > _loopTapes
std::map< std::string, std::string > _sources
virtual void generateZeroSource()