1. 14 Nov, 2019 1 commit
    • Sébastien Villemot's avatar
      Improvements to the test for balanced growth path · 5a5817b4
      Sébastien Villemot authored
      — Raise the default tolerance for cross-derivatives to 1e-6, to reduce the
        number of false positives
      
      — New option “balanced_growth_test_tol” to the “model” block for changing that
        tolerance
      
      — Turn back test failures into errors. Since there is now an option for
        controlling the tolerance, the user always has the possibility of making the
        test pass.
      
      Closes: dynare#1389
      5a5817b4
  2. 07 Nov, 2019 3 commits
  3. 30 Oct, 2019 1 commit
  4. 29 Oct, 2019 5 commits
  5. 28 Oct, 2019 1 commit
  6. 24 Oct, 2019 3 commits
  7. 22 Oct, 2019 3 commits
    • Sébastien Villemot's avatar
      VAR/TCM models: use lag-equivalence relationship to compute maximum lags · 2a127b1f
      Sébastien Villemot authored
      This is made possible by the getLagEquivalenceClass() method introduced in the
      previous commit.
      
      Previously, the static version of the LHS expressions was used.
      
      As a consequence, drop ModFile::diff_static_model, now useless.
      2a127b1f
    • Sébastien Villemot's avatar
      Fix bug with diff or unary ops that have same static representation · 8a83e08e
      Sébastien Villemot authored
      Previously, for testing whether two diff() expressions or two unary ops were
      the lead/lag of each other, the preprocessor would test whether they have the
      same static representation. This is ok for simple expressions (e.g.
      diff(x(-1))), but not for more complex ones (e.g. diff(x-y) and diff(x(-1)-y)
      should not be given the same auxiliary variable).
      
      This commit fixes this by properly constructing the equivalence relationship
      and choosing a representative within each equivalence class. See the comments
      above lag_equivalence_table_t in ExprNode.hh for more details.
      
      Closes #27
      8a83e08e
    • Sébastien Villemot's avatar
      Fix semantics of ExprNode::maxLag(), maxLead() and maxLagWithDiffsExpanded() with constants · c5d223a7
      Sébastien Villemot authored
      Those methods can return a negative value in some cases. For example,
      maxLead(x₋₁) = −1.
      
      But constants were always returning a value of zero, which means that we had
      inconsistent behaviour like maxLead(x₋₁ + 2) = 0.
      
      This commits fixes the behaviour by making these methods return the smallest
      possible integer when called on constants.
      c5d223a7
  8. 17 Oct, 2019 4 commits
  9. 15 Oct, 2019 1 commit
  10. 11 Oct, 2019 1 commit
  11. 10 Oct, 2019 1 commit
  12. 09 Oct, 2019 1 commit
  13. 08 Oct, 2019 2 commits
  14. 07 Oct, 2019 5 commits
  15. 04 Oct, 2019 5 commits
  16. 03 Oct, 2019 2 commits
  17. 02 Oct, 2019 1 commit