- macro processor: allow for the definition of a variable without a value
- dragonfly: add new field to `options_.parallel_info`
- fix lookbehind to handle `-` sign in substitution of dates in native statements
- remove support for weekly dates
- dragonfly: support ProgramConfig config file option
- dragonfly: support ProgramPath config file option
- add undocumented `gui` option to preprocessor
- occbin: support occbin tags in equation tags, add occbin_likelihood and occbin_smoother as options to estimation
- make loop variables const
- Combine `DynareMain.cc` and `DynareMain2.cc`
In Octave, when some values given to the sparse() function are numerically
zero, then the nzmax of the generated sparse matrix is shrinked accordingly;
while under MATLAB, the nzmax is the length of the vector of values, zeros
included.
The check at the top of
DynamicModelMFile::unpackSparseMatrixAndCopyIntoTwoDMatData() would then fail
under Octave if some higher-derivatives had an element which is symbolically
non-zero but numerically zero.
We therefore relax the check, and accordingly adapt the code that handles
numerical zeros.
This bug was uncovered by tests/pruning/AnSchorfheide_pruned_state_space.mod,
which was failing under Octave.
This is a partial revert of 8fa4c483f9.
Actually, the official name is “GNU Octave”, and it is easier to find it under
that name in search engines. So use the full name at a few prominent places,
and use the shorter “Octave” everywhere else.
The workaround consists in appending the names of those macro-directives with a
regular space followed by a zero-width space (U+200B).
An extra LaTeX declaration was also added in order to make this hack work with
the PDF.
Ref. #1707
Implicit expansion (a.k.a. automatic broadcasting) was introduced in MATLAB
R2016b (and it has been present in Octave for quite some time).
Hence use bsxfun() instead.
The problem had been introduced in 228b2a532.
Under Octave, the default seed in fs2000ns_uncorr_ME.mod leads to a generated
dataset that makes fs2000ns_corr_ME.mod and fs2000ns_corr_ME_missing.mod
fail (due to a large difference between univariate and multivariate diffuse
filters).
The steady state is always zero for discretionary policy. And, in the case of a
steady state file, this call would not be able to update parameters (since it
does not modify M_), nor would it need to do so (since this has already be done
earlier in the function).
Ref. #1705
Under GNU/Linux and macOS, double-quote arguments before passing them to the
shell. In particular, this allows passing single-quotes within those arguments.
We therefore have to escape the four characters that are interpreted within
double-quoted strings in POSIX shells: \, ", $ and `
On Windows, also systematically escape the backslashes.
Also move display of arguments before escaping, so that it remains readable.
Ref. #1696