 20 Dec, 2018 7 commits


Sébastien Villemot authored
Problem introduced in a69c6536.

Sébastien Villemot authored
Simply redirect cout to /dev/null, instead of propagating a boolean everywhere.

Sébastien Villemot authored
This feature is illdesigned and no longer needed by the GUI. And is not very useful: it is not possible to interact with the preprocessor without using the filesystem, since the preprocessor creates many files anyways. If we really need to reimplement such a feature, it should rather be redesigned by reading the modfile from standard input (cin). That could be triggered by using "" as the filename argument (as is already done by several standard Unix utilities).

Sébastien Villemot authored
The M_.params structure was not correctly passed to dynamic_set_auxiliary_series.m, leading to crashes if a parameter was needed to compute an auxiliary variable (typically an auxiliayr lead variable corresponding to a nonlinear term in stochastic setup).

Sébastien Villemot authored
Since 38152c34, the M_.endo_histval variable is generated via dynamic_set_auxiliary_dseries.m. But the latter file does not handle auxiliary variables for Lagrange multiplier. We therefore now set them by hand (at an initial value of zero).

Sébastien Villemot authored
Since 38152c34, the M_.endo_histval variable is generated via dynamic_set_auxiliary_dseries.m. The problem is that, for auxiliary variables corresponding to a lead, this will generate a NaN in M_.endo_histval. This is conceptually correct, since such variables are never used as initial conditions, but this is inconsistent with what we do with the "initval" block, and leads to crashes in some routines where we fail when there is a NaN. Therefore, replace these with a zero, as it used to be.

Stéphane Adjemian authored
To install this version of gcc: ~$ brew install gcc@7 Does not seem to work with gcc8 (missing headers…).

 19 Dec, 2018 3 commits


Houtan Bastani authored

Sébastien Villemot authored
Ref dynare#1630

Houtan Bastani authored

 11 Dec, 2018 1 commit


Sébastien Villemot authored
The idea is to make use of the dynamic_set_auxiliary_dseries.m file to generate the initial conditions for all auxiliary variables, including the diffs. Also remove the check done by the preprocessor for the lags in histval, since it does not work correctly with the diff operator.

 10 Dec, 2018 2 commits


Houtan Bastani authored
allow the use of previously assigned variables in epilogue block in later equations in epilogue block

Houtan Bastani authored

 05 Dec, 2018 2 commits


Sébastien Villemot authored
 ExprNode::maxLag() and ExprNode::maxLead() now take into account exogenous deterministic variables, for consistency with M_.maximum_{lead,lag}  ExprNode::maxLag() no longer behaves as if diff() operators were expanded (i.e. it now returns 1 on diff(x(1))), for consistency with maxEndoLag() and maxExoLag()  New ExprNode::maxLagWithDiffsExpanded() method, that behaves as maxLag() used to behave (except that it also takes exogenous deterministic into account)

Sébastien Villemot authored
Previously, this function was counting the total number of diff() operators in an expression. But this is not very useful, and is potentially misleading, because in practice we use this function to compute the maximum lag on variables in levels. This function now returns the maximum number of nested diffs. For example, on diff(x)+diff(diff(y)), this function was returning 3, and it now returns 2.

 04 Dec, 2018 2 commits


Sébastien Villemot authored

Sébastien Villemot authored
This was a bug, now fixed in Bison 3.2.2. The latter version is now available on most platforms (Debian unstable/testing, Homebrew, MSYS2).

 03 Dec, 2018 2 commits


Sébastien Villemot authored

Sébastien Villemot authored

 30 Nov, 2018 1 commit


Sébastien Villemot authored

 29 Nov, 2018 1 commit


Sébastien Villemot authored

 28 Nov, 2018 4 commits


Sébastien Villemot authored
The data structure written in the driver file is changed also in the case of the "variable" option.

Sébastien Villemot authored
Those const data members are simply made public.

Sébastien Villemot authored

Houtan Bastani authored

 27 Nov, 2018 2 commits


Sébastien Villemot authored
The engine is now more robust and should reject any expression that does not conform to the expected form. It is also able to deal with more cases, such as terms appearing with a minus sign, or variables in the middle of a threefactors product. BTW, use a std::tuple for storing the result of the matching inside PacExpectationNode, and change the order of components within the structure (variable first, scalar last).

Sébastien Villemot authored

 23 Nov, 2018 2 commits


Sébastien Villemot authored

Sébastien Villemot authored

 22 Nov, 2018 5 commits


Sébastien Villemot authored
The preprocessor now writes all the symmetric elements in the "hp" matrix (derivatives of the hessian w.r.t. parameters), for consistency with all other derivatives output. Previously it was only writing one of the two symmetric elements, when indices of endogenous were different.

Sébastien Villemot authored
Also, no longer compute two times symmetric elements in derivation w.r.t. parameters at order 2, for consistency with derivation w.r.t. endogenous. It is therefore now necessary to duplicate them in the output to keep behavior unchanged.

Sébastien Villemot authored

Sébastien Villemot authored

Sébastien Villemot authored

 21 Nov, 2018 1 commit


Sébastien Villemot authored
Thanks to Akim Demaille for the suggestion.

 19 Nov, 2018 2 commits


Sébastien Villemot authored

Sébastien Villemot authored
When creating the sparse matrix (in MATLAB or C mode), since storage is in columnmajor order, output the first column, then the second, then the third. This gives a significant performance boost in use_dll mode (at both compilation and runtime), because it facilitates memory accesses and expression reusage.

 16 Nov, 2018 3 commits


Sébastien Villemot authored

Sébastien Villemot authored
Closes #13

Sébastien Villemot authored
