Stéphane Adjemian (Ryûk)
e72dde69d3
Add option for trust region algorithm (mex).
...
trust_region_initial_step_bound_factor is determinining thye initial
step bound. Default value is 100 (previous hard coded value was 1).
2021-07-23 19:44:16 +02:00
Sébastien Villemot
5d5fefca25
Bump version numbers
2021-07-23 15:57:19 +02:00
Johannes Pfeifer
66dcef2754
k_order_welfare.cc: remove gratuitous screen output
2021-07-22 15:12:59 +02:00
Normann Rion
3d27672c58
kth-order approximation of conditional welfare
...
Partially addresses issue #1680 :
- unconditional welfare resorts to dynare++ simulation tools, which shall be updated very soon
TO DO:
- implement a function computing kth-order approximation of simulated moments of y
2021-06-15 15:04:31 +02:00
Sébastien Villemot
a7203095db
A_times_B_kronecker_C MEX: don’t bother adding “only” clauses to “use” directive
2021-06-14 15:28:34 +02:00
Sébastien Villemot
766fff88f6
Use secure URL for link to GNU licenses
2021-06-09 17:35:05 +02:00
Sébastien Villemot
a40a9b079c
sparse_hessian_times_B_kronecker_C MEX: bugfix relating to number of rows of B and C
...
In practice however, it seems that this bug never hits, because B and C always
have the same number of rows when the MEX is called.
2021-06-08 17:58:40 +02:00
Sébastien Villemot
3bd3c78e0e
A_times_B_kronecker_C MEX: rewrite in Fortran
2021-06-04 12:58:39 +02:00
Sébastien Villemot
c4ca0ef0b2
Fortran MEX: remove useless return statements after calls to mexErrMsgTxt()
2021-06-04 12:58:39 +02:00
Sébastien Villemot
f90a8ab070
Fortran MEX: mark array pointers returned by MEX functions as contiguous
...
This can make a difference when the return value of those function is directly
passed to a BLAS/LAPACK function.
On the other hand, if the return value is first stored in a pointer variable,
then it seems necessary to explicitly say that this pointer is also contiguous.
2021-06-04 12:58:39 +02:00
Sébastien Villemot
dc2695a11f
mjdgges and block_trust_region MEX: optimise by marking some function arguments as contiguous
...
This avoids unnecessary array copies before calling BLAS/LAPACK functions.
2021-06-04 12:58:36 +02:00
Sébastien Villemot
3a2335975a
Fortran MEX: add missing “implicit none” in blas and lapack modules
2021-06-04 12:57:47 +02:00
Sébastien Villemot
2a1183e1fa
Fortran MEX: add -Wimplicit-interface to compiler flags
...
This warns about hard-to-detect bugs where a function is called with an
implicit interface, thus possibly having mismatches in the calling sequence.
2021-06-04 12:57:39 +02:00
Sébastien Villemot
45181cfd97
Fortran MEX: add interface for dgemm
2021-06-04 12:57:32 +02:00
Sébastien Villemot
0741963ca5
Build system: streamline handling of compilation flags for MEX
...
— allow the user to override compilation flags for MATLAB MEX (it was already
working for the preprocessor, the MEX for Octave and Dynare++)
— increase the symmetry of MEX build infrastructure between MATLAB and Octave
— when linking MEX for Octave, do not add the output of “mkoctfile -p FLIBS”.
It is unneeded, and it can create a conflict between the system compiler and
a user-supplied compiler
By the way:
— restore optimization on macOS for C/C++ MEX (it had been removed in
5df2392a09
)
— remove -fno-omit-frame-pointer on MATLAB/Linux, since it would be cancelled
by subsequent -O2 and should not be needed anyways
— remove FFLAGS under Octave, unused
2021-05-10 14:39:41 +02:00
Sébastien Villemot
47477e152a
Bump minimal Octave version to 6.2.0
2021-03-12 16:21:57 +01:00
Sébastien Villemot
c0ccca26cb
macOS package: drop support for Octave
...
The current Octave support is utterly broken (both in stable and unstable), it
crashes Octave. It relies on an unofficial Octave app for
macOS (https://octave-app.org ), which is infrequently updated.
This commits drop support for Octave in the macOS package. We will now tell our
macOS+octave users to use the Homebrew Dynare package (which is maintained by
the Homebrew team, and is in reasonably good shape).
2021-03-12 16:21:57 +01:00
Sébastien Villemot
c9eb6920c9
local_state_space_iteration_k MEX: fix bug in output
...
In its output, the MEX was returning values for all endogenous variables, but
it was used in a context where only the variables from oo_.dr.restrict_var_list
were expected (as is done with local_state_space_iteration_2 MEX).
This commit fixes this discrepancy, and also fixes the test that was checking
that both MEX are returning the same output.
Closes : #1768
2021-03-10 13:45:29 +01:00
Sébastien Villemot
1a0ee5f055
Bytecode / sparse transpose: bug fix
...
The Jc vector has n+1 elements, where n is the number of columns. Moreover, the
size passed to memset() was wrong.
2021-02-09 16:05:11 +01:00
Sébastien Villemot
c9f6d3a626
Bytecode: more simplifications and modernizations
2021-02-09 16:00:53 +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
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
bc053018a0
Remove risky steady state (unfinished) code
...
Incidently, remove the possibility of passing model derivatives as arguments to
the k_order_perturbation. That possibility was only used by the risky steady
state code.
Closes : #1338
2021-01-22 11:32:36 +01:00
Stéphane Adjemian (Odysseus)
0e1c9312e2
Merge remote-tracking branch 'Dynare/master' into enterprise
2021-01-11 11:06:55 +01:00
Sébastien Villemot
93a8e60265
Build system: various macOS cleanups
...
– remove clang support
– we no longer support 32-bit
– simplify Darwin specific hacks for Octave MEX files
2020-12-18 15:40:48 +01:00
Sébastien Villemot
e8d01abdca
Build system: remove obsolete comments
2020-12-18 15:40:48 +01:00
Sébastien Villemot
55e25bcb7f
perfect_foresight_problem MEX: check the return code of mexCallMATLAB()
2020-12-07 15:03:35 +01:00
Sébastien Villemot
d06ae350c5
Build system: add --with-octave configure option to specify non-default install path
...
(cherry picked from commit bd97fdc1d5
)
2020-12-02 18:52:36 +01:00
Sébastien Villemot
bd97fdc1d5
Build system: add --with-octave configure option to specify non-default install path
2020-12-02 18:26:49 +01:00
Sébastien Villemot
f104b9d517
Windows package: statically link MatIO and GSL in Octave MEX files
...
Closes : #1750
2020-11-18 15:31:06 +01:00
Sébastien Villemot
a922505bbe
Another fix for Fedora, needed for building MEX for Octave
2020-11-13 10:05:40 +01:00
Sébastien Villemot
3a42c234fe
Fix build failures on Fedora
...
— FCFLAGS needs to contain the compilation flags used when compiling Octave,
otherwise it fails at configure stage when looking for gfortran
— Explicitly add -L$OCTLIBDIR, because with Octave 5 it is no longer there, and
on Fedora the Octave libraries are no in the default linker search path
2020-11-05 18:52:11 +01:00
Sébastien Villemot
f7ee0b9441
Build system: add missing -fPIC flag for Fortran 2008 MEX files under Octave
2020-11-05 15:40:14 +01:00
Sébastien Villemot
4e16ffcda2
Fortran MEX interface: minor fix for interface to dgemv
2020-10-21 18:17:41 +02:00