Commit Graph

122 Commits (edede274f27e1fcd4d43037e0cebae105c37adbd)

Author SHA1 Message Date
Sébastien Villemot 22ab507c6c
Global reindentation of Dynare++ 2019-12-20 15:43:17 +01:00
Sébastien Villemot 996bdd6c64 New local_state_space_iteration_k MEX, for nonlinear filters at k-order
It applies the approximated policy function to a set of particles, using
Dynare++ routines.

There is support for parallelization, using Dynare++ multithreading
model (itself based on C++11 threads; we don’t use OpenMP because it is
incompatible with MKL). For the time being, default to a single thread. This
should be later refined through empirical testing.
2019-12-20 11:31:56 +01:00
Sébastien Villemot 6ff7d4c56c
C++17: use structured bindings instead of std::tie 2019-09-11 16:06:35 +02:00
Sébastien Villemot 7e274d8234
Dynare++: remove useless call to std::move() that prevents copy elision 2019-06-25 11:14:01 +02:00
Sébastien Villemot d69fadc362
Dynare++: improvements to comments 2019-06-19 17:35:01 +02:00
Sébastien Villemot b7e6ac58b3
Dynare++: move all documentation to the doc/ subdir 2019-06-19 17:35:01 +02:00
Sébastien Villemot 7cc4aad8b6
Dynare++: update copyright information
— Ondra Kamenik has agreed to the relicensing of utils and parser modules to
  GPL
— add DynareTeam’s copyright, since we have made a lot of modifications
— add proper copyright notices in all files
2019-06-19 15:02:41 +02:00
Sébastien Villemot 4ae409574d
Dynare++: use std::exchange() in move constructors 2019-05-20 18:35:29 +02:00
Sébastien Villemot 0375dbe29b
Dynare++: improvements to comments 2019-05-06 18:44:49 +02:00
Sébastien Villemot 4d17c8b10d
Dynare++: move multithreading abstraction to the "utils" module 2019-05-02 12:38:56 +02:00
Sébastien Villemot b9f92b69be
Dynare++: replace some uses of std::vector by a lighter std::unique_ptr 2019-04-30 12:58:21 +02:00
Sébastien Villemot 0b9b69f638
Dynare++: various simplifications 2019-04-24 17:47:15 +02:00
Sébastien Villemot f5e2bfc30a
Ask GCC to warn about C-style casts (-Wold-style-cast)
Adapt the code accordingly.
2019-04-23 13:03:20 +02:00
Sébastien Villemot e0280d067b
Dynare++: improvements to comments 2019-04-16 15:20:56 +02:00
Sébastien Villemot c9bdc2c885
Dynare++: simplify methods for getting number of columns and rows of a matrix
Previously there were GeneralMatrix::numRows() and TwoDMatrix::nrows() for doing
the same thing (and same for columns and Const versions).

Merge these two into GeneralMatrix::nrows().
2019-04-16 12:44:02 +02:00
Sébastien Villemot 040c4f11a7
Dynare++: ensure that testsuite does not fail because of safety check
Safety check introduced in c10d8daf9.

Ref #217
2019-04-16 12:22:41 +02:00
Sébastien Villemot 57848930c6
Use Unicode copyright symbol (in UTF-8 encoding)
Do not use it in MATLAB source files, since unfortunately the MATLAB editor
does not support UTF-8.
2019-04-16 11:42:16 +02:00
Sébastien Villemot c10d8daf9f
Dynare++: add safety check to avoid overflow in tensor indices
Ref #217
2019-04-15 18:32:59 +02:00
Sébastien Villemot a6d7baabea
Dynare++: improvements to comments 2019-04-12 18:26:30 +02:00
Sébastien Villemot 85f472c74b
Dynare++: new helpers for constructing {Const,}{TwoD,General}Matrix from mxArray* 2019-04-10 19:00:49 +02:00
Sébastien Villemot e67c172000
Dynare++: improvements to comments
[skip ci]
2019-04-05 18:39:47 +02:00
Sébastien Villemot 960deff5a9
Dynare++: improvements to comments 2019-04-01 18:42:35 +02:00
Sébastien Villemot 860e1e1c75
Dynare++: improve comments 2019-03-29 18:46:52 +01:00
Sébastien Villemot 44b40bbf09
Dynare++: improvements to comments
[skip ci]
2019-03-28 18:59:34 +01:00
Sébastien Villemot 5958848145
Dynare++: improve comments using Unicode (first batch)
[skip ci]
2019-03-27 19:22:51 +01:00
Sébastien Villemot 449553e7b6
Dynare++: various improvements 2019-03-08 15:32:30 +01:00
Sébastien Villemot 4c11e9e9ec
Dynare++ kord and MEX: various modernizations and improvements 2019-03-07 19:46:15 +01:00
Sébastien Villemot 29daae72b4
Dynare++: minor modernization 2019-03-01 18:40:46 +01:00
Sébastien Villemot 81d9b08050
Dynare++ tensor library: various modernizations/improvements 2019-02-27 19:07:01 +01:00
Sébastien Villemot fc35f3a384
Dynare++: make more explicit the interface for extracting the Symmetry of an IntSequence 2019-02-27 17:01:37 +01:00
Sébastien Villemot 9751e6e199
Dynare++: simplify IntSequence by moving a special-purpose constructor into Symmetry 2019-02-27 15:43:22 +01:00
Sébastien Villemot 07ef21fdc7
Dynare++: more explicit interface for unfolding an IntSequence wrt a Symmetry 2019-02-27 15:29:06 +01:00
Sébastien Villemot d86101327e
Dynare++: more explicit interface for inserting into a IntSequence 2019-02-27 14:39:47 +01:00
Sébastien Villemot a062ea2b69
Dynare++ tensor library: various modernizations 2019-02-26 18:59:45 +01:00
Sébastien Villemot 1639f75a3c
Dynare++: improve interface to not-in-place matrix multiplications 2019-02-26 18:59:45 +01:00
Sébastien Villemot e3967bda9a
Dynare++: improve interface to matrix transpose 2019-02-26 18:59:45 +01:00
Sébastien Villemot 16cc191298
Dynare++ tensor library: last batch of modernizations of testsuite 2019-02-26 18:59:45 +01:00
Sébastien Villemot c44545bb18
Dynare++: add some comments 2019-02-26 12:43:04 +01:00
Sébastien Villemot 82e7f9250d
Dynare++: make the sparse tensors assignable 2019-02-22 17:44:07 +01:00
Sébastien Villemot 8751de896b
Dynare++: make tensor containers assignable 2019-02-22 16:54:00 +01:00
Sébastien Villemot 58bdee12c3
Dynare++ tensor library: refactor static stuff
- encapsulate it more clearly
- make it thread safe
- put back the Pascal triangle initialization stuff removed in 9512a32ad0
2019-02-21 19:00:50 +01:00
Sébastien Villemot 790c56612c
Dynare++ tensor library: changes to exception handling
- TL_RAISE now unconditionally raises an exception
- rathe use TL_RAISE_IF at some places, to save a test in non-debug mode
2019-02-20 18:07:07 +01:00
Sébastien Villemot b72857d4ce
Dynare++: the get() method of tensor containers now return a reference
Previously it was returning a pointer, which is non-standard for containers,
and was leading to ugly dereferencing everywhere.
2019-02-20 18:06:58 +01:00
Sébastien Villemot c8c6ec58a6
Dynare++: simplify TLException class 2019-02-20 17:23:37 +01:00
Sébastien Villemot ff57451474
Dynare++: simplifications made possible by new init-list constructor of IntSequence 2019-02-20 17:04:37 +01:00
Sébastien Villemot b5793ddd22
Dynare++: use std::unique_ptr for storage inside tensor containers 2019-02-20 17:04:34 +01:00
Sébastien Villemot 9e1df25580
Dynare++: various simplifications 2019-02-20 14:36:35 +01:00
Sébastien Villemot 02d6f86487
Dynare++ tensor library: use smart pointers in fold() and unfold() methods 2019-02-20 14:25:32 +01:00
Sébastien Villemot 72a445c348
Dynare++ tensor library doc: update for TLStatic; fix typo 2019-02-20 14:00:00 +01:00
Sébastien Villemot c0224a640c
Dynare++: small optimization in unfolded tensor indexing 2019-02-20 13:06:17 +01:00