k_order mex: added derivatives as members of KorderpDynare

time-shift
Michel Juillard 2012-06-24 11:23:12 +02:00
parent 57b7c0e94f
commit 287b134884
2 changed files with 9 additions and 6 deletions

View File

@ -89,10 +89,8 @@ KordpDynare::evaluateSystem(Vector &out, const Vector &yym, const Vector &yy,
void
KordpDynare::calcDerivativesAtSteady() throw (DynareException)
{
TwoDMatrix g1(nY, nJcols);
g1.zeros();
TwoDMatrix *g2p = NULL, *g3p = NULL;
g1p = new TwoDMatrix(nY, nJcols);
g1p->zeros();
if (nOrder > 1)
{
@ -115,9 +113,10 @@ KordpDynare::calcDerivativesAtSteady() throw (DynareException)
Vector llxSteady(nJcols-nExog);
LLxSteady(ySteady, llxSteady);
dynamicModelFile->eval(llxSteady, xx, params, ySteady, out, &g1, g2p, g3p);
dynamicModelFile->eval(llxSteady, xx, params, ySteady, out, g1p, g2p, g3p);
populateDerivativesContainer(g1, 1, JacobianIndices);
populateDerivativesContainer(*g1p, 1, JacobianIndices);
delete g1p;
if (nOrder > 1)
{

View File

@ -113,6 +113,10 @@ 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,