1 #ifndef CPPAD_CG_MODEL_C_SOURCE_GEN_LOOPS_HESS_R2_INCLUDED
2 #define CPPAD_CG_MODEL_C_SOURCE_GEN_LOOPS_HESS_R2_INCLUDED
23 size_t maxCompressedSize) {
25 using namespace CppAD::cg::loops;
27 startingJob(
"'sparse Hessian'", JobTimer::SOURCE_GENERATION);
33 string argsDcl = langC.generateDefaultFunctionArgumentsDcl();
35 string model_function = _name +
"_" + FUNCTION_SPARSE_HESSIAN;
36 string functionRev2 = _name +
"_" + FUNCTION_SPARSE_REVERSE_TWO;
37 string suffix =
"indep";
38 string nlRev2Suffix =
"noloop_" + suffix;
41 _cache <<
"#include <stdlib.h>\n"
43 generateFunctionDeclarationSource(_cache, functionRev2, nlRev2Suffix, _nonLoopRev2Elements, argsDcl);
44 generateFunctionDeclarationSourceLoopForRev(_cache, langC, _name,
"jrow", _loopRev2Groups, generateFunctionNameLoopRev2);
48 printForRevUsageFunction(_cache, _baseTypeName, _name,
55 generateFunctionNameLoopRev2,
56 _hessSparsity.rows.size(), maxCompressedSize);
60 _sources[model_function +
".c"] = _cache.str();