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 |
||
---|---|---|
doc | ||
m4 | ||
src | ||
.gitignore | ||
.gitlab-ci.yml | ||
COPYING | ||
Makefile.am | ||
README.md | ||
configure.ac | ||
license.txt |
README.md
Dynare Preprocessor
The Dynare Preprocessor defines the Dynare model language. It takes in a .mod
file, computes the derivatives of the model represented therein, and produces
MATLAB/Octave, C, Julia, or JSON output.
There is more to come here. For the moment, see the Dynare repository
License
Most of the source files are covered by the GNU General Public Licence version 3 or later. There are some exceptions. See license.txt for specifics.