From c99935ddb070e9abfc714e33a2da4cd65a85e5ac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien.villemot@ens.fr>
Date: Fri, 6 Jul 2012 14:52:17 +0200
Subject: [PATCH] Revert "k_order mex: added derivatives as members of
 KorderpDynare"

This reverts commit 1424cf2ec9432f5b82ba76063454f0db9ee9edd1.
---
 mex/sources/k_order_perturbation/k_ord_dynare.cc | 11 ++++++-----
 mex/sources/k_order_perturbation/k_ord_dynare.hh |  4 ----
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/mex/sources/k_order_perturbation/k_ord_dynare.cc b/mex/sources/k_order_perturbation/k_ord_dynare.cc
index 46aafbb958..d932743028 100644
--- a/mex/sources/k_order_perturbation/k_ord_dynare.cc
+++ b/mex/sources/k_order_perturbation/k_ord_dynare.cc
@@ -89,8 +89,10 @@ KordpDynare::evaluateSystem(Vector &out, const Vector &yym, const Vector &yy,
 void
 KordpDynare::calcDerivativesAtSteady() throw (DynareException)
 {
-  g1p = new TwoDMatrix(nY, nJcols);
-  g1p->zeros();
+  TwoDMatrix g1(nY, nJcols);
+  g1.zeros();
+
+  TwoDMatrix *g2p = NULL, *g3p = NULL;
 
   if (nOrder > 1)
     {
@@ -113,10 +115,9 @@ KordpDynare::calcDerivativesAtSteady() throw (DynareException)
   Vector llxSteady(nJcols-nExog);
   LLxSteady(ySteady, llxSteady);
 
-  dynamicModelFile->eval(llxSteady, xx, params, ySteady, out, g1p, g2p, g3p);
+  dynamicModelFile->eval(llxSteady, xx, params, ySteady, out, &g1, g2p, g3p);
 
-  populateDerivativesContainer(*g1p, 1, JacobianIndices);
-  delete g1p;
+  populateDerivativesContainer(g1, 1, JacobianIndices);
 
   if (nOrder > 1)
     {
diff --git a/mex/sources/k_order_perturbation/k_ord_dynare.hh b/mex/sources/k_order_perturbation/k_ord_dynare.hh
index 262fecf211..3629c3d74a 100644
--- a/mex/sources/k_order_perturbation/k_ord_dynare.hh
+++ b/mex/sources/k_order_perturbation/k_ord_dynare.hh
@@ -113,10 +113,6 @@ class KordpDynare : public DynamicModel
   const TwoDMatrix &ll_Incidence;
   double qz_criterium;
   vector<int> JacobianIndices;
-
-  TwoDMatrix *g1p;
-  TwoDMatrix *g2p;
-  TwoDMatrix *g3p;
 public:
   KordpDynare(const vector<string> &endo, int num_endo,
               const vector<string> &exo, int num_exo, int num_par,
-- 
GitLab