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;
40 if (_loopTapes.empty()) {
41 dep = _fun.Forward(0, indVars);
46 dep = prepareForward0WithLoops(handler, indVars);
55 langC.setGenerateFunction(_name +
"_" + FUNCTION_FORWAD_ZERO);
57 std::ostringstream code;
58 std::unique_ptr<VariableNameGenerator<Base> > nameGen(createVariableNameGenerator());
60 handler.
generateCode(code, langC, dep, *nameGen, _atomicFunctions, jobName);
void setMaxOperationsPerAssignment(size_t maxOperationsPerAssignment)
void makeVariables(VectorCG &variables)
virtual void generateZeroSource()
virtual void setMaxAssignmentsPerFunction(size_t maxAssignmentsPerFunction, std::map< std::string, std::string > *sources)
virtual void setParameterPrecision(size_t p)
virtual void generateCode(std::ostream &out, Language< Base > &lang, CppAD::vector< CGB > &dependent, VariableNameGenerator< Base > &nameGen, const std::string &jobName="source")