Skip to content
Snippets Groups Projects
Forked from Dynare / preprocessor
Source project has a limited visibility.
  • Sébastien Villemot's avatar
    fe3f1894
    No longer replace all auxiliary variables by their definition in the static model · fe3f1894
    Sébastien Villemot authored
    This is effectively a revert of commits 1b4f68f9,
    32fb90d5 and f6f4ea70.
    
    This transformation had been introduced in order to fix the computation of the
    Ramsey steady state in the case where Lagrange multipliers appeared with a lead
    or lag ⩾ 2 (and where thus part of the definition of an auxiliary variable).
    
    But this transformation had introduced bugs in the handling of external
    functions which were difficult to tackle.
    
    Moreover, it seems preferable to keep the strict correspondence between the
    dynamic and static model, in order to make reasoning about the preprocessor
    internals easier (in particular, for this reason this transformation was not
    implemented in ModFile::transformPass() but in ModFile::computingPass(), which
    was a bit confusing).
    
    A better solution for the Ramsey steady state issue will is implemented in the
    descendent of the present commit.
    
    Ref. dynare#633, dynare#1119, dynare#1133
    Verified
    fe3f1894
    History
    No longer replace all auxiliary variables by their definition in the static model
    Sébastien Villemot authored
    This is effectively a revert of commits 1b4f68f9,
    32fb90d5 and f6f4ea70.
    
    This transformation had been introduced in order to fix the computation of the
    Ramsey steady state in the case where Lagrange multipliers appeared with a lead
    or lag ⩾ 2 (and where thus part of the definition of an auxiliary variable).
    
    But this transformation had introduced bugs in the handling of external
    functions which were difficult to tackle.
    
    Moreover, it seems preferable to keep the strict correspondence between the
    dynamic and static model, in order to make reasoning about the preprocessor
    internals easier (in particular, for this reason this transformation was not
    implemented in ModFile::transformPass() but in ModFile::computingPass(), which
    was a bit confusing).
    
    A better solution for the Ramsey steady state issue will is implemented in the
    descendent of the present commit.
    
    Ref. dynare#633, dynare#1119, dynare#1133