From c46c670f7f4508c134bff2f8d21b727480052a15 Mon Sep 17 00:00:00 2001
From: sebastien <sebastien@ac1d8469-bf42-47a9-8791-bf33cf982152>
Date: Thu, 9 Apr 2009 10:07:37 +0000
Subject: [PATCH] trunk: fixed bug with USE_DLL and second order (Hessian
 matrix was not sparse)

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2572 ac1d8469-bf42-47a9-8791-bf33cf982152
---
 ModelTree.cc | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/ModelTree.cc b/ModelTree.cc
index 02665879..7a1cb896 100644
--- a/ModelTree.cc
+++ b/ModelTree.cc
@@ -1657,8 +1657,10 @@ ModelTree::writeDynamicCFile(const string &dynamic_basename) const
                     << "  g2 = NULL;" << endl
                     << " if (nlhs >= 3)" << endl
                     << "  {" << endl
-                    << "     /* Set the output pointer to the output matrix g2. */" << endl
-                    << "     plhs[2] = mxCreateDoubleMatrix(" << equations.size() << ", " << variable_table.getDynJacobianColsNbr(computeJacobianExo)*variable_table.getDynJacobianColsNbr(computeJacobianExo) << ", mxREAL);" << endl
+                    << "     /* Set the output pointer to the output matrix g2. */" << endl;
+  int g2_ncols = variable_table.getDynJacobianColsNbr(computeJacobianExo)*variable_table.getDynJacobianColsNbr(computeJacobianExo);
+  mDynamicModelFile << "     plhs[2] = mxCreateSparse(" << equations.size() << ", " << g2_ncols << ", "
+                    << 5*g2_ncols << ", mxREAL);" << endl
                     << "     /* Create a C pointer to a copy of the output matrix g1. */" << endl
                     << "     g2 = mxGetPr(plhs[2]);" << endl
                     << "  }" << endl
-- 
GitLab