Commit Graph

14000 Commits (47477e152a3575b0108f5845ba76ec2ca3c54330)

Author SHA1 Message Date
Sébastien Villemot c9f6d3a626
Bytecode: more simplifications and modernizations 2021-02-09 16:00:53 +01:00
Sébastien Villemot f317be1600
Preprocessor: save oo_.time also in _results.mat 2021-02-04 17:01:30 +01:00
Sébastien Villemot 0ffce474c2
Update Ferhat’s affiliation
[skip ci]
2021-02-04 17:01:23 +01:00
Sébastien Villemot 2ee03c7e28
OLS: Octave compatibility fix
Cell arrays cannot be used for derefencing fields in a structure.

For some unknown reason, this was nevertheless accepted by MATLAB in this
context.
2021-02-04 16:54:09 +01:00
Sébastien Villemot 78fdd50894
cherrypick.m: Octave compatibility fix
The plus sign (+) was unescaped in the regular expression, which was confusing
Octave.

By the way, also remove unneeded parenthesis groupings.
2021-02-04 16:01:54 +01:00
Sébastien Villemot e4af502360
Testsuite / pac: Octave compatibility fix
Use a different random seed under Octave for several tests.

Note that these tests seems fragile. Changing the seed under MATLAB often leads
to a failure.
2021-02-04 16:01:35 +01:00
Sébastien Villemot 901d8355e3
PAC iterative OLS: compatibility fix for Octave < 6 2021-02-04 16:01:30 +01:00
Sébastien Villemot f094dc71f9
Testsuite / pac/trend-component-19-growth-comb: fix accuracy check
The test was using the comparison operator (>) on a dseries. This would give a
bogus (false) result under MATLAB, and would crash under Octave.
2021-02-04 16:01:30 +01:00
Sébastien Villemot 50a7507f9b
options_.bnlms.set_dynare_seed_to_default is a boolean 2021-02-04 12:37:36 +01:00
Sébastien Villemot 4a1dbc5ca4
Bytecode: fix bug introduced in previous commit
map::at() does bound checking, and throws an exception if out-of-range,
contrary to [] operator which returns a new element.
2021-02-03 19:52:25 +01:00
Sébastien Villemot 4893f0e82c
Bytecode: various simplifications and modernizations 2021-02-03 18:10:31 +01:00
Sébastien Villemot 8e9085eea4
PAC NLS estimation: Octave compatibility fix
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.
2021-02-02 17:02:04 +01:00
Sébastien Villemot 7bbe67748b
simul_backward: Octave compatibility fix 2021-02-02 17:02:04 +01:00
Sébastien Villemot 00e36dd342
var_expectation.update: Octave compatibility fix
There was a conflict between matlab/+var_expectation/update.m and
matlab/+var_expectation/+update/. So we renamed the (single) file in the latter
directory.
2021-02-02 17:01:59 +01:00
Sébastien Villemot 44a2e6463b
lyapunov_solver: increase tolerance for 2 unit tests, for MATLAB R2014a 2021-02-02 15:05:41 +01:00
Sébastien Villemot 9b555ec974
Testsuite / BGP tests: compatibility fix tests with MATLAB < R2016a 2021-02-02 15:02:50 +01:00
Sébastien Villemot 30cfb0b03c
Bytecode: bugfix in conditional forecast 2021-02-01 17:54:36 +01:00
Sébastien Villemot 967966876f
Bytecode: remove obsolete LINBCG stuff 2021-02-01 15:26:33 +01:00
Sébastien Villemot 743469bfd7
Bytecode: remove stuff for creating a standalone debugging executable
This code no longer compiles. And it’s possible to debug the MEX directly.
2021-02-01 15:26:33 +01:00
Sébastien Villemot bb5f58f55f
Bytecode: remove useless constant redefinition 2021-02-01 15:26:33 +01:00
Sébastien Villemot eb29dc003a
Bytecode: remove CUDA-specific stuff 2021-02-01 15:26:31 +01:00
Sébastien Villemot 5ef440ad9b
Bytecode: remove MSVC++ specific portions 2021-02-01 14:50:46 +01:00
Sébastien Villemot f9f50ff19a
Bytecode: port to C++11 using keyword
Performed using modernize-use-using from clang-tidy.

https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-using.html
2021-02-01 14:50:46 +01:00
Sébastien Villemot 47357bb432
Bytecode: port to C++11 nullptr keyword
Performed using modernize-use-nullptr from clang-tidy.

Manual intervention to remove old-style C casts to nullptr.

https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-02-01 14:50:42 +01:00
Sébastien Villemot a2186b06b8
Bytecode: port to C++11 syntax for default constructors
Performed using modernize-use-equals-default from clang-tidy.

https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html
2021-02-01 14:50:42 +01:00
Sébastien Villemot 1aa0286f6d
Bytecode: port to C++11 emplace_back() method on containers
Performed using modernize-use-emplace from clang-tidy.

https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-emplace.html
2021-02-01 14:50:42 +01:00
Sébastien Villemot 93c6cb1c3c
Bytecode: use bool literals
Performed using modernize-use-bool-literals from clang-tidy

https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2021-02-01 14:50:42 +01:00
Sébastien Villemot 1a4340cb80
Bytecode: port to C++11 auto keyword
Performed using modernize-use-auto from clang-tidy.

https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-auto.html
2021-02-01 14:50:39 +01:00
Sébastien Villemot 63e922f637
Bytecode: port some constructors to pass-by-value using C++11 move semantics
Performed using modernize-pass-by-value from clang-tidy.

https://clang.llvm.org/extra/clang-tidy/checks/modernize-pass-by-value.html
2021-02-01 14:50:10 +01:00
Sébastien Villemot 7840d1396e
Bytecode: port to C++11 range-based for loops
Performed using modernize-loop-convert from clang-tidy.

https://clang.llvm.org/extra/clang-tidy/checks/modernize-loop-convert.html
2021-02-01 14:50:07 +01:00
Sébastien Villemot 2f587cf5c3
Bytecode: use C++ headers
Performed using modernize-deprecated-headers from clang-tidy.

https://clang.llvm.org/extra/clang-tidy/checks/modernize-deprecated-headers.html
2021-02-01 12:28:50 +01:00
Sébastien Villemot c050325e3d
Bytecode: C++17 modernization / convert the remaining enums to enum classes 2021-02-01 12:10:47 +01:00
Sébastien Villemot 1bb5612474
Merge branch 'resol' of git.dynare.org:JohannesPfeifer/dynare 2021-01-29 15:34:57 +01:00
Sébastien Villemot 53afee9dd2
Preprocessor: save 'Total computing time' into oo_.time 2021-01-29 15:34:30 +01:00
Sébastien Villemot 1cd3bfbfa8
Merge branch 'kalman_initial_state' of git.dynare.org:JohannesPfeifer/dynare 2021-01-29 15:34:11 +01:00
Sébastien Villemot 3e6224e0b6
plot_contributions.m: compatibility fixes for Octave
— use zeros instead of NaNs when decomposing between positive and negative
  contributions; otherwise some contributions are not plotted
— the bar() function returns a column-vector of graphic handles, while on
  MATLAB it returs a row-vector
2021-01-29 15:20:18 +01:00
Sébastien Villemot 5da473ac66
plot_contributions.m: compatibility fix for MATLAB ≤ R2019a 2021-01-29 14:55:06 +01:00
Sébastien Villemot dcfd45bd25
missing/unique_stable.m: also support cell arrays and 2nd output argument
Needed by aggregate.m.
2021-01-29 14:06:40 +01:00
Sébastien Villemot 3e98918690
aggregate.m: compatibility fix for MATLAB R2014a
The importdata function returns empty lines on R2014a, while it omits them in
R2020a. Moreover, importdata is not meant to parse arbitrary text file. We thus
replace it by repeated calls to fgetl.
2021-01-29 12:29:39 +01:00
Sébastien Villemot 5fc29ace8f
Merge branch 'octave_typo' of git.dynare.org:JohannesPfeifer/dynare 2021-01-29 11:19:13 +01:00
Johannes Pfeifer 585781bd4c dynare_minimize_objective.m: use analytic gradient if specified
Bug introduced in ce3e4412

[skip CI]
2021-01-29 11:10:59 +01:00
Sébastien Villemot 20c00d5a02
dynare_minimize_objective: fix analytic derivatives in mode_compute=13 for Octave and MATLAB < R2016a 2021-01-29 11:02:23 +01:00
Sébastien Villemot a5d7078581
CI: simplify artifact paths using double glob star
This was introduced in Gitlab 13.0.

By the way, this ensures that test artifacts which are deep in the directory
hierarchy (such as those for the MoM tooblox) are also taken into account.
2021-01-29 10:23:23 +01:00
Johannes Pfeifer 827a7fcaa8 resol.m: reduce inheritance of decision rule info 2021-01-29 10:16:04 +01:00
Johannes Pfeifer 7c8f486727 Allow setting initial state for Kalman filter
Supersedes https://git.dynare.org/Dynare/dynare/-/merge_requests/1522
2021-01-28 17:24:27 +01:00
Sébastien Villemot 3e7c0b1eef
Merge branch 'optimizer' of git.dynare.org:JohannesPfeifer/dynare 2021-01-28 16:54:58 +01:00
Sébastien Villemot 6ac1af7035
Merge branch 'filtered_variables' of git.dynare.org:JohannesPfeifer/dynare 2021-01-28 16:53:30 +01:00
Sébastien Villemot af67b4f7c9
Testsuite: Octave 6 compatibility fix
In Octave ≤ 5, it was impossible to take a function handle for a function in a
package (“+” folder). This bug has been fixed in Octave 6, so we can use the
same codepath as MATLAB in that case. See
https://savannah.gnu.org/bugs/index.php?46659
2021-01-28 16:36:43 +01:00
Johannes Pfeifer ce56305318 mr_hessian.m: only compute inverse of A once 2021-01-28 15:07:05 +01:00
Johannes Pfeifer b56b7760b1 mr_hessian.m: don't manually increase run index of loop 2021-01-28 15:06:32 +01:00