diff --git a/mex/sources/k_order_perturbation/k_ord_dynare.cc b/mex/sources/k_order_perturbation/k_ord_dynare.cc index 46aafbb958803297eb6ef48af736104ec2d7801e..d932743028bb3ae9e856351b91f5dc2b03c62ee4 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 262fecf21159c7892ee640bdde12f1247c6a4723..3629c3d74ae40e12828f80b020d0c73ead8cc06f 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,