Commit Graph

208 Commits (26f0fb110453e99e35bafcc75dd96ec7adb7c3c8)

Author SHA1 Message Date
Sébastien Villemot 960deff5a9
Dynare++: improvements to comments 2019-04-01 18:42:35 +02:00
Sébastien Villemot fe9a691969
Dynare++: simplification of platform-specific routines for available memory 2019-04-01 18:42:35 +02:00
Sébastien Villemot a6ff8495cd
Dynare++: use portable C++11 primitive for detecting the number of logical processors 2019-04-01 18:42:35 +02:00
Houtan Bastani a93c6681c7
clang: can’t print non POD type through variadic function 2019-04-01 16:05:47 +02:00
Houtan Bastani 51d7508c7f
dynare++: _SC_AVPHYS_PAGES is not defined on macOS 2019-04-01 15:47:35 +02:00
Houtan Bastani 4120ce6730
dynare++: include needed on macOS 2019-04-01 14:54:20 +02:00
Sébastien Villemot 418cfa558b
Dynare++: fix compilation failure under macOS
We still need to properly define available memory.

[skip ci]
2019-04-01 11:22:04 +02:00
Sébastien Villemot 149fde1e74
Dynare++: detect Windows by testing for _WIN32 rather than __MINGW32__ 2019-04-01 11:16:04 +02:00
Sébastien Villemot 860e1e1c75
Dynare++: improve comments 2019-03-29 18:46:52 +01:00
Sébastien Villemot c41216819a
Dynare++: give more explicit names to some methods on quasi-triangular matrices 2019-03-29 15:28:26 +01:00
Sébastien Villemot 39896d8d0a
Dynare++: drop unused codepaths 2019-03-29 15:26:04 +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 598f0193d5
Dynare++ kord library: make test failures fatal
Required an increase for the error tolerance of SW-like models tests.

By the way, decrease the tolerance for the small model.
2019-03-07 11:34:30 +01:00
Sébastien Villemot a7de121b01
Dynare++ kord library: some equations were incorrectly omitted from residual error checking 2019-03-07 10:39:33 +01:00
Sébastien Villemot 14f85cf448
Dynare++ kord library: various modernizations and improvements
Note that I removed several #define whose purpose was to avoid typing "typename
ctraits<t>::…". Even though this tends to complicates the code, this is
probably safer, especially since the #define was capturing a free variable (t).
2019-03-06 18:43:04 +01:00
Sébastien Villemot 6d99b6d120
Dynare++ kord library: various modernizations and simplifications 2019-03-05 18:35:35 +01:00
Sébastien Villemot 7fd95a6b72
Dynare++ kord library: use modern pseudo-random number generators 2019-03-05 12:29:17 +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
Sébastien Villemot 30b8681731
Dynare++: make multinomial coeffs computation a method of IntSequence
Also improve on the comments.
2019-02-20 12:37:59 +01:00
Sébastien Villemot 9512a32ad0
Dynare++: remove duplicate implementation of the Pascal triangle
As a consequence, the singleton implementation has to be made thread-safe.

Also implement the singleton pattern using a namespace, rather than a static
instance.
2019-02-19 16:46:04 +01:00
Sébastien Villemot 5fcf563c61
Dynare++: factorize and optimize code for integer exponentiation
There were two implementations of integer exponentiation. Merge them into a new
file under utils/cc/.

By the way, optimize it using exponentiation by squaring.
2019-02-19 15:50:07 +01:00
Sébastien Villemot 0f37649755
Dynare++ tensor library: modernize normal moments computation 2019-02-19 12:53:02 +01:00
Sébastien Villemot d08ca8ca7f
Dynare++ tensor library: modernization of Kronecker product classes 2019-02-19 12:47:40 +01:00
Sébastien Villemot e91f48f2ce
Dynare++: modernize kord tests 2019-02-14 15:47:58 +01:00
Sébastien Villemot db6df6c73c
Dynare++ kord test: use modern pseudo-random number generator 2019-02-14 11:45:15 +01:00