Commit Graph

14036 Commits (d43a057af3c7ad301afef3471358e88df2cb5bed)

Author SHA1 Message Date
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
Johannes Pfeifer 1ca5aad981 mr_hessian.m: account for non-scalar output 2021-01-28 14:45:13 +01:00
Johannes Pfeifer e766ad053e mr_hessian.m: add comments and remove redundant line 2021-01-27 22:13:15 +01:00
Johannes Pfeifer 7df35bca35 newrat.m: only compute eig(hh) if output is actually required 2021-01-27 22:02:45 +01:00
Johannes Pfeifer ef14cdb1e9 mr_hessian.m: remove redundant lines and try-catch statement 2021-01-27 21:42:48 +01:00
Johannes Pfeifer 9a86f316c6 newrat.m: only find index once 2021-01-27 21:38:04 +01:00
Johannes Pfeifer 96b1ca3bee mr_hessian.m: honor Save_files option 2021-01-27 21:38:03 +01:00
Johannes Pfeifer 1fc33a4c63 newrat.m: check for valid initial parameter 2021-01-27 21:38:03 +01:00
Sébastien Villemot 11f7ae2236
Merge branch 'octave_optim' of git.dynare.org:JohannesPfeifer/dynare 2021-01-27 18:28:35 +01:00
Sébastien Villemot f662c17c5d
shock_decomposition_backward: Octave compatibility fix 2021-01-27 18:25:27 +01:00
Sébastien Villemot d52a35889c
shock_decomposition_backward: workaround for bug in MATLAB ≤ R2019a
Ref. dseries#45
2021-01-27 18:25:27 +01:00
Sébastien Villemot 0402c56ee7
Compatibility fix for MATLAB R2014a when estimating with empty estim_params
The tests kalman_filter_smoother/fs2000_smoother_only.mod and
kalman_filter_smoother/fs2000_smoother_only_ns.mod would fail under MATLAB
R2014a.

They both run the estimation command without having declared an estim_params
block.

Their execution would fail in check_bounds_and_definiteness_estimation, at the
point where we check if initial values are below the lower bound.

The problem is that xparam1 would be of size 0×1, while bounds.lb would be
empty (0×0), and the comparison fails on older MATLABs.

The fix consists in ensuring that xparam1 remains of size 0×0 in that case.
2021-01-27 18:25:27 +01:00
Sébastien Villemot 0f19774b55
check_bounds_and_definiteness_estimation: rename last argument to BoundsInfo
The previous name was misleading, since this is not the same as bayestopt_.

The confusion was introduced in cfe1069367.
2021-01-27 18:25:27 +01:00
Sébastien Villemot 25d19fef96
Testsuite: increase numerical tolerance for minimal_state_space_system/sw_minimal.mod
This is necessary for MATLAB R2014a on some runners.
2021-01-27 18:24:26 +01:00
Sébastien Villemot 6e6bc3f6c9
Testsuite: rename test files for Octave compatibility
Rename histval_initval_file/ramst_data.mod to ramst_data_generate.mod.
Otherwise, there is a conflict between the +ramst_data folder and the generated
ramst_data.m.

Similarily, rename shock_decomposition/shock_decomposition_backward.mod to
shock_decomposition/shock_decomp_backward.mod (otherwise it conflicts with
matlab/shock_decomposition_backward.m).
2021-01-27 18:24:22 +01:00