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) {
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();
virtual void generateSparseHessianWithLoopsSourceFromRev2(const std::map< size_t, CompressedVectorInfo > &hessInfo, size_t maxCompressedSize)