Commit Graph

16570 Commits (6a58316a3e6ed39b814d6938ee1df788cf2bd024)

Author SHA1 Message Date
Sébastien Villemot 6a58316a3e
MEX files: disable clang-tidy false positive for call to std::strcpy 2023-12-06 22:24:57 +01:00
Sébastien Villemot 91f2dcdfe1
MEX files: use “auto” when initializing with a template cast to avoid duplicating the type name
Automatically detected by clang-tidy with modernize-use-auto check.
2023-12-06 22:24:56 +01:00
Sébastien Villemot de476ad5ac
MEX files: use a braced initializer list instead of repeating the return type
Automatically detected by clang-tidy with modernize-return-braced-init-list
check.
2023-12-06 22:24:55 +01:00
Sébastien Villemot 123f909b67
MEX files: use pass-by-value + std::move when possible in constructors
Automatically detected by clang-tidy with modernize-pass-by-value check.
2023-12-06 22:24:55 +01:00
Sébastien Villemot fd9a89ab38
MEX files: use default member initialization when possible
Automatically detected by clang-tidy with modernize-use-default-member-init
check.
2023-12-06 22:24:55 +01:00
Sébastien Villemot 15b6e6e6b3
MEX files: no longer use “virtual” keyword when overriding a method
Automatically detected by clang-tidy with modernize-use-override check.
2023-12-06 22:24:55 +01:00
Sébastien Villemot 9d98811cfc
MEX files: use transparent functor for std::multiplies
Automatically detected by clang-tidy using modernize-use-transparent-functors
check.
2023-12-06 22:24:55 +01:00
Sébastien Villemot 8953007440
MEX files: remove unused variables or values
Automatically detected by clang-tidy using
clang-diagnostic-unused-but-set-variable, clang-analyzer-deadcode.DeadStores
and clang-diagnostic-unused-const-variable checks.
2023-12-06 22:24:55 +01:00
Sébastien Villemot d82eecfd39
C++11 modernization: use std::array and std::vector instead of C arrays
Automatically detected by clang-tidy using modernize-avoid-c-arrays check.
2023-12-06 22:24:52 +01:00
Sébastien Villemot 3df4856259
Merge branch 'raftery_lewis_bug' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2214
2023-12-05 18:53:10 +01:00
Sébastien Villemot 11c1f6175e
Add [[nodiscard]] attribute to various functions
Automatically detected using clang-tidy with modernize-use-nodiscard check.
2023-12-05 15:44:23 +01:00
Sébastien Villemot 7864370bfb
perfect_foresight_problem MEX: fix inclusion of dynmex.h
That header is needed from DynamicModelCaller.hh.

Issue detected by clang-tidy.
2023-12-04 18:21:18 +01:00
Sébastien Villemot 911437378c
Remove unused and unmaintained unit test for k-order 2023-12-04 18:21:18 +01:00
Sébastien Villemot 6f38dcd1d5
bytecode MEX: fix logical test
The test “solve_algo >= 6 || solve_algo <= 8” was always true.

Issue detected by clang-tidy using the
clang-diagnostic-tautological-overlap-compare check.
2023-12-04 18:21:13 +01:00
Sébastien Villemot bc6840ff6f
MEX libkorder: make destructor of SparseTensor class virtual
That class is a base class, so it must have a virtual destructor to avoid
memory leaks.

Issue detected by clang-tidy with
clang-diagnostic-delete-non-abstract-non-virtual-dtor check.
2023-12-04 18:20:43 +01:00
Sébastien Villemot aeec4494b0
MEX libkorder: fix use of moved-from object
Detected by clang-tidy using clang-analyzer-cplusplus.Move check.
2023-12-04 18:20:43 +01:00
Sébastien Villemot 857e5b00f5
C++ modernization: pass by value and use std::move when relevant
Automatically detected and fixed using clang-tidy with modernize-pass-by-value
check.
2023-12-04 18:20:43 +01:00
Sébastien Villemot bd7703d160
C++ modernization: use a braced initializer list instead when relevant
Automatically detected and fixed using clang-tidy with
modernize-return-braced-init-list check.
2023-12-04 18:20:43 +01:00
Sébastien Villemot a5445c52be
C++ modernization: more uses of auto keyword
Automatically detected and fixed using clang-tidy with modernize-use-auto
check.
2023-12-04 18:20:43 +01:00
Sébastien Villemot 403f20a7f3
C++ modernization: add [[nodiscard]] attribute to various functions
Automatically detected and fixed using clang-tidy with modernize-use-nodiscard
check.
2023-12-04 18:20:42 +01:00
Johannes Pfeifer 53f12e81fa Raftery/Lewis: fix case with only one parameter
Dimension for max needs to be specified
2023-12-04 16:25:00 +01:00
Sébastien Villemot bea87aafad
Manual: minor formatting improvements
[skip ci]
2023-12-04 16:22:24 +01:00
Stéphane Adjemian (Ryûk) edaf938582
Add --log option to dcontrib command. 2023-11-30 21:55:35 +01:00
Stéphane Adjemian (Ryûk) dadcd9a2bf
Dynare does not ship jsonlab anymore.
See 1d5a442fe5.
2023-11-30 16:52:02 +01:00
Sébastien Villemot c6a7801ba8
clang-format configuration: set “PackConstructorInitializers: NextLine” 2023-11-30 14:37:05 +01:00
Sébastien Villemot 7edf01a2a9
Manual: cosmetic change
[skip ci]
2023-11-29 21:13:51 +01:00
Sébastien Villemot cb56dcc569
README.md: under Octave, the statistics package is not optional
[skip ci]
2023-11-29 21:13:48 +01:00
Sébastien Villemot f0420fa219
CI: add job that checks formatting with clang-format 2023-11-29 19:02:41 +01:00
Sébastien Villemot ed332e3ba1
MEX files: reformat C++ source code using clang-format 15 2023-11-29 19:00:51 +01:00
Sébastien Villemot ca16f7f848
clang-format configuration: never collapse short functions on a single line 2023-11-29 18:19:31 +01:00
Sébastien Villemot 847f940f78
clang-format configuration: remove reference to a specific clang-format version 2023-11-29 13:12:54 +01:00
Sébastien Villemot 54e72a4d35
Emacs default settings for editing C and C++: indent at 100 columns
For consistency with the clang-format settings.

[skip ci]
2023-11-28 18:10:38 +01:00
Sébastien Villemot c3d91d5ce8
Fix marginal linearization in the context of perfect_foresight_with_expectation_errors_solver with homotopy
If a solution corresponding to 100% of the shock can’t be found in the first
informational period, marginal linearization will be performed to extrapolate a
solution.

However, in subsequent informational periods, this extrapolated solution cannot
be used for the initial conditions of endogenous variables, because the initial
conditions are not a true solution of the nonlinear model. For those subsequent
informational periods, the correct approach is to compute the two solutions
needed for marginal linearization using as initial conditions the values
obtained in the same two solutions for the previous informational
periods (stored as oo_.deterministic_simulation.{sim1,sim2}).
2023-11-28 16:26:49 +01:00
Sébastien Villemot c6c6f4f549
perfect_foresight_solver + homotopy + (marginal) linearization: store intermediate simulations
First simulation before doing extrapolation is stored in several fields of
oo_.deterministic_simulation.sim1.

For marginal linearization, the second simulation used to compute the marginal
contribution is stored in oo_.deterministic_simulation.sim2.
2023-11-28 12:29:34 +01:00
Sébastien Villemot b0197da05f
Manual: fix code block formatting
[skip ci]
2023-11-28 12:28:43 +01:00
Sébastien Villemot ccff7d3560 Merge branch 'tex_identification' into 'master'
Fix LaTeX Output in identification command for advanced option

See merge request Dynare/dynare!2209
2023-11-27 15:13:19 +00:00
Johannes Pfeifer e718402357 mode_check.m: fix LaTeX output on Windows by using slash 2023-11-27 14:19:13 +01:00
Johannes Pfeifer 59c9f70a7d identification: fix latex output 2023-11-27 14:18:58 +01:00
Sébastien Villemot 6ccc7fd69e
Testsuite: switch back to mode_compute=4 in lyapunov/fs2000_lyap.mod
This prevents an infinite (or at least very long) loop under Octave on karaba.
2023-11-24 11:49:28 +01:00
Sébastien Villemot b220be6d3e
Merge branch 'mcmc_diag' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2212
2023-11-24 10:38:49 +01:00
Sébastien Villemot f21fda7dfa
Build system: enable the interleaved API in MEX files for Octave ⩾ 8.4.0
Unfortunately it is not possible to enable it for all supported Octave
versions (which would have allowed us to remove the old codepath), because of
this bug: https://savannah.gnu.org/bugs/?64687
2023-11-24 10:36:47 +01:00
Sébastien Villemot c0e39d40a7
Testsuite: increase tolerance for estimation/fs2000_model_comparison.mod
Needed for MATLAB R2018b, at least on AVX512-capable CPUs.
2023-11-23 22:07:49 +01:00
Johannes Pfeifer d0e99daf9a mcmc_diagnostics.m: compute Geweke and Raftery/Lewis also with more than one chain 2023-11-23 16:59:02 +01:00
Sébastien Villemot f62d76cbcf
Merge branch 'shock_decomp' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2211
2023-11-23 14:51:26 +01:00
Sébastien Villemot 56410be973
CI: enable FF_ENABLE_BASH_EXIT_CODE_CHECK to avoid unintuitive behaviour with && operator 2023-11-23 14:51:06 +01:00
Johannes Pfeifer 07d859d018 graph_decomp.m: make sure figure fits on screen and close button is accessible 2023-11-23 01:27:10 +01:00
Sébastien Villemot b513214570
perfect_foresight_homotopy: minor simplification 2023-11-22 20:34:03 +01:00
Sébastien Villemot 9545dcc8d9
perfect_foresight_solver.m: improve local functions documentation 2023-11-22 20:34:02 +01:00
Sébastien Villemot 08c9eca8ee
perfect foresight homotopy + marginal linearization: fix percentages in information messages 2023-11-22 20:34:02 +01:00
Sébastien Villemot 701afd2c7c
Consolidate the routines for loading JSON files, now that jsondecode is always available 2023-11-22 17:46:16 +01:00