Sébastien Villemot
d0864689d2
Bytecode: minor simplification related to Evaluate::steady_state
2023-04-18 14:23:26 +02:00
Sébastien Villemot
c6ce5856e9
Manual: update URL for sylvester.pdf
2023-04-17 18:10:36 +02:00
Sébastien Villemot
73e4ced39a
Remove more unused Dynare++ code
...
In particular, the libkorder library no longer depends on MatIO.
2023-04-17 18:10:36 +02:00
Sébastien Villemot
99cd06c9fd
Move relevant Dynare++ files to mex/sources/libkorder/. Delete the others.
...
Also move some useful documentation to doc/.
2023-04-17 18:10:35 +02:00
Sébastien Villemot
e413696277
Octave compatibility fix: the 3rd output argument to fminsearch was added in Octave 4.4
2023-04-17 18:10:35 +02:00
Sébastien Villemot
873685e7e6
Windows package: bump to Octave 8.2.0
2023-04-17 10:35:53 +02:00
Sébastien Villemot
ebee041d1c
Manual: claim compatibility with Octave 8.2.0
2023-04-17 10:34:05 +02:00
Sébastien Villemot
36db88c56c
qmc_sequence MEX: use the Fortran version of John Burkardt’s code (instead of C++)
...
Incidentally, this greatly diminishes the compilation time of the MEX.
2023-04-15 16:19:35 +02:00
Sébastien Villemot
85351d751c
🐛 qmc_sequence MEX: large input seeds would be truncated
...
The int64 input seed was converted to a double before being converted back to
an int64. But large integers cannot be represented exactly in a double.
2023-04-15 15:48:55 +02:00
Sébastien Villemot
9dff1ff28e
🐛 Workaround for buggy int64_T and uint64_T types under Windows with MATLAB < R2015b
...
This bug would impact the qmc_sequence MEX, which manipulates an int64
input/output argument (the seed). Thanks to little-endianness, the bug would
however only manifest for seeds > 2³¹.
2023-04-15 15:48:54 +02:00
Sébastien Villemot
e9ecce8293
ricatti_update MEX: remove unused variable
2023-04-15 13:03:43 +02:00
Sébastien Villemot
3bf40d92f8
blas_lapack.F08: minor simplification
2023-04-15 12:50:44 +02:00
Sébastien Villemot
80a6967827
Remove unused options_.scalv
2023-04-14 16:38:14 +02:00
Sébastien Villemot
1faeaf892e
Remove unused options_.terminal_condition
2023-04-14 16:35:43 +02:00
Sébastien Villemot
640be269af
Add “implicit none” statements in BLAS/LAPACK interfaces for safety
2023-04-14 15:08:53 +02:00
Sébastien Villemot
62c2881bc2
Fortran 2018 modernization: use the extended “implicit none” syntax
...
The statement “implicit none” forbids implicit typing of variables, but not
implicit procedure declaration. The new “implicit none (type, external)” syntax
forbids both, and is thus safer.
2023-04-14 15:06:37 +02:00
Sébastien Villemot
0923187938
🐛 Perturbation solution: gracefully fail if order=2 is requested with bytecode
2023-04-13 17:35:20 +02:00
Sébastien Villemot
91fa8d079e
calibrateresiduals: use the sparse representation of the dynamic model
2023-04-13 17:24:47 +02:00
Sébastien Villemot
7e1c25d775
backward_model_inversion: use the sparse representation of the dynamic file
2023-04-13 15:51:09 +02:00
Sébastien Villemot
ed75e4c176
dynamic_backward_model_for_inversion: turn into a local function of backward_model_inversion
2023-04-13 15:47:43 +02:00
Sébastien Villemot
66b648157f
Purely backward models simulation: use the sparse representation of the dynamic file
2023-04-13 15:47:43 +02:00
Sébastien Villemot
34e82f9697
sim1_purely_forward: use the sparse representation of the dynamic file
2023-04-13 15:47:43 +02:00
Sébastien Villemot
170a4dce0e
dynamic_forward_model_for_simulation: turn into a local function of sim1_purely_forward
2023-04-13 15:47:43 +02:00
Sébastien Villemot
5f42e84b0b
sim1_purely_static: use the sparse representation of the dynamic file
2023-04-13 15:47:43 +02:00
Sébastien Villemot
4a793f89ff
dynamic_static_model_for_simulation: turn into a local function of sim1_purely_static
2023-04-13 15:47:43 +02:00
Sébastien Villemot
942c6f9a20
🐛 static_model_inversion: fix handling of STEADY_STATE() operator
...
Of course, this operator does not make much sense in the context of a static
model, but it should still work.
2023-04-13 15:47:43 +02:00
Sébastien Villemot
9deb1e6049
static_model_inversion: use the sparse representation of the dynamic file
2023-04-13 15:47:41 +02:00
Sébastien Villemot
bc68915dfa
static_model_for_inversion: turn into a local function of static_model_inversion
2023-04-13 11:55:27 +02:00
Stéphane Adjemian (Ryûk)
4f3a0df884
Do not overwrite solve_algo option.
2023-04-12 09:53:46 +02:00
Sébastien Villemot
5c3e291483
Preprocessor: use_dll: turn getPowerDeriv() and sign() into inline functions
2023-04-11 17:31:18 +02:00
Sébastien Villemot
90a408e3c3
Build system: enable the dangling else warning (-Wdangling-else)
...
Adapt the code accordingly.
2023-04-11 17:31:18 +02:00
Sébastien Villemot
c56e7cef51
Build system: remove tests that have become useless since the removal of Dynare++ executable
2023-04-11 17:31:16 +02:00
Sébastien Villemot
6938080951
Preprocessor update
...
– 🐛 sign(0) was returning 1 instead of 0 with use_dll
– Performance improvements on very large models
2023-04-07 18:08:56 +02:00
Sébastien Villemot
9f29e2f292
Bytecode: add missing floating point exception handling for sqrt and several trigonometric functions
2023-04-07 17:32:36 +02:00
Sébastien Villemot
2740bdee58
Bytecode: remove default clause in switch/case clauses for opcodes
...
This ensures that we will get a compiler warning reminding us to support
opcodes that may be added in the future.
2023-04-07 16:46:35 +02:00
Sébastien Villemot
1622c74a53
Bytecode: add missing support for cbrt(), abs() and sign() operators
2023-04-07 16:46:35 +02:00
Sébastien Villemot
f27c3abd2f
Bytecode: refactor floating point exception handling
2023-04-07 16:46:32 +02:00
Sébastien Villemot
fbaa051489
Bytecode: minor simplification
2023-04-07 10:26:57 +02:00
Sébastien Villemot
421eb1482c
Octave compatibility: qz() will be MATLAB-compatible in version 9
...
[skip ci]
2023-04-07 10:26:54 +02:00
Stéphane Adjemian (Ryûk)
51ffe77fb7
Add error flag (new output) to simul_backward_model routine.
2023-04-05 11:09:59 +02:00
Stéphane Adjemian (Ryûk)
b8c70eba3b
Initialize parameter delta.
...
To prevent name mangling with potentially available function (matlab toolbox).
2023-04-05 11:09:59 +02:00
Sébastien Villemot
c4bc6316d0
Make matlab/missing/mex/mjdgges/mjdgges.m Octave-compatible
...
[skip ci]
2023-04-04 18:40:37 +02:00
Sébastien Villemot
8128fd4cc3
Bytecode: minor improvements of interfacing with UMFPACK
2023-04-03 18:34:55 +02:00
Sébastien Villemot
c4ad1d58e8
Bytecode: minor simplification to debug mode
2023-04-03 18:34:45 +02:00
Sébastien Villemot
19afc087cc
Manual: give more details for stack_solve_algo=0
...
Explain that the solver is a direct sparse LU, to differentiate it from
stack_solve_algo={2,3,4} which use the same Newton algorithm but with different
solvers.
2023-04-03 18:31:04 +02:00
Sébastien Villemot
d3afa980aa
MEX: better type definition for long SuiteSparse integers under Windows
2023-04-03 18:31:04 +02:00
Sébastien Villemot
d078810625
MEX: remove obsolete MSVC check
2023-04-03 14:59:36 +02:00
Sébastien Villemot
a45b00fa69
MEX: better type definition for BLAS/LAPACK integers in C and C++
...
int64_t on 64-bit machines better expresses the intent than ptrdiff_t. This is
also more consistent with what is done in Fortran.
2023-04-03 14:58:07 +02:00
Sébastien Villemot
f0888468e6
Bytecode: optimize memory consumption during iterations
...
mxArray objects were not properly destroyed within the iteration loop, leading
to higher memory usage. Note that there was no memory leak, because these
objects would be destroyed later by MATLAB when exiting the MEX.
2023-04-03 14:14:33 +02:00
Sébastien Villemot
5a1abb1b87
Bytecode: cleanup memory management for UMPACK memory buffers
...
There was probably no bug but it is safer this way.
2023-03-31 18:43:16 +02:00