preprocessor#36
- detrend epilogue statements
- write names of epilogue variables in `M_.epilogue_names`
- output list of endogs used in epilogue equations in `M_.epilogue_var_list_`
- output static and dynamic epilogue files
previously, `nopathchange` and `nopreprocessoroutput` were set even if they were values instead of option names.
`nopathchange` would further remove all options that contained `'nopathchange'`
e.g. `dynare example1.mod savemacro=nopathchange` would erroneously set `nopathchange` to true and would delete the `savemacro` option altogether
In the fix, just check that the match starts in position 1 as, if the argument passed is longer than the matching pattern (e.g. nopathchangee), the preprocessor will stop processing with a usage error
The changes in 8065e9d439 were not working as
intended, because AC_CHECK_PROG expect values and not actions. Hence
AC_MSG_ERROR was not properly executed.
By the way, simplify some test conditions using && instead of if/then/fi
blocks.
- new include_eqs and exclude_eqs command-line options
- new “forecast” option to “shock_decomposition”
- remove the “linear” option of “stoch_simul”
- forbid exogenous and exogenous deterministic variables in STEADY_STATE
operator (#825)
The logic of the dynSparseMatrix::Sparse_substract_SA_SB() routine was
incorrect.
In some cases, it would read past the last nonzero elements of the A matrix,
and consequently write past the number of allocated nonzero elements of the C
matrix.
This would lead to crashes and, probably, to wrong results under certain
circumstances.
Closes: #1652
It’s not clear that such utilities are useful (people should rather update
their MATLAB). It’s also a lot of work, and it’s probably better to focus on
documenting the incompatibilities.
Closes: #915
It is not possible to use --disable-matlab and --disable-octave, because
otherwise `make dist` does not properly recurse.
By the way, factorize the computation of the path and version of the default
MATLAB installation.
In particular, if either MATLAB or Octave is missing, one needs to pass either
--disable-matlab or --disable-octave.
Moreover, several new configure flags have been introduced for disabling some
components:
--disable-doc
--disable-dynare++
--disable-mex-dynare++
--disable-mex-ms-sbvar
--disable-mex-kalman-steady-state