— Rework the function that handles the macro-expansion of the .mod file
— Rework equation tags (preprocessor#38)
— Provide M_ as an output to stoch_simul and discretionary_policy (!1711)
- did not account for cases when username not set (namely when remote is localhost)
- did not account for cases when remote directory was not set (namely when remote is localhost)
- added unnecessary `filesep` to `pname` when `pname` was empty
- ignore unused output arguments (it is necessary to explicitly ignore them to prevent unwanted output from the `system` call)
- globbing did not work as it was expanded on the calling machine not the remote; pass call to `bash -c` to handle this
The Emacs lisp source file was failing byte-compilation, because the
“dynare-blocks” variable was used within an “eval-when-compile” block, while
its definition was not in such a block.
The copy of MathJax that we were embedding was not source code, because it
contained minified Javascript. In particular, this is a problem for the
official Debian package.
We now strip the copy. Users compiling the HTML manual from the source tarball
will therefore get MathJax from a CDN (this is the default behaviour of
Sphinx).
These algorithms are alternative versions of 2 and 4 specialized for
models where each equation has only one endogenous variable on the
left hand side (only allowed expression on LHS is the log of an
endogenous variable). Univariate recursive blocks are then not solved
with a non linear but by evaluating the RHS expression.
- 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