This is a workaround for Octave bug 46849. It complements commit
4c0b2e8c4e.
The workaround consists in moving the two problematic files to a subfolder
which is not in the path at startup. They will be added to the path later, at a
time when the Octave:shadowed-function warning has already been disabled by
warning_config.m.
Closes: #1817
In regular expressions, the end-of-word operator (\>) does not behave the same
under Octave and under MATLAB. See:
https://savannah.gnu.org/bugs/index.php?59992
In this case, we can simply drop the \> operator, since there is no risk of
matching a partial variable name (since there is already “(-1)” at the end of
the pattern).
By the way, remove a useless parenthesis grouping in the regexp.
The preprocessor has been modified to allow linear combinations in the growth
parameter (see Dynare/preprocessor@a0f74f5c16 and
Dynare/preprocessor@d873414728).
This commit restores the previous functionality (i.e. it fixes the simple case
where only one parameter/variable is provided for the growth parameter).
The code still needs to be adapted to really handle linear combinations.
An index was used instead of a parameter value when modifying the
correction (for handling models with non optimizing agents and/or models with
exogenous variables).
Extracts equations from a mod file and produce .inc files (equations, lists of
parameters, endogenous variables and exogenous variables) that can be included
in a mod file that will be used to simulate the model.
If an innovation has a tag `(used='estimationonly')` it will be excluded from
the generated files (ie list of shocks and equations).
Also fixes growth neutrality correction in models with non optimizing
agents (correction was not taking into account the value of the share of non
optimizing agents).
Fixes the iterative_ols estimation of PAC equation when the Rule of Thumbs (non
optimizing) part of the equations contains endogenous and/or exogenous variables.
The parameter is constrained to be in (0,1) for the following algorithms
- lsqnonlin (without Levenberg-Marquardt)
- fmincon
- annealing
- particleswarm
Other algorithms do not allow the definition of boundaries... We should add a
penality function to the objective for these algorithms.