Commit Graph

19 Commits (bf60795e8e70ee76e417cb4a8bc0ad6a50c391af)

Author SHA1 Message Date
Sébastien Villemot 6d99b6d120
Dynare++ kord library: various modernizations and simplifications 2019-03-05 18:35:35 +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 b5793ddd22
Dynare++: use std::unique_ptr for storage inside tensor containers 2019-02-20 17:04:34 +01:00
Sébastien Villemot 1ef1dedc65
Refactor GeneralMatrix and ConstGeneralMatrix classes
- Remove the GeneralMatrix(const ConstVector &) constructor, since it is hides
  a memory allocation (copying the ConstVector into a fresh Vector). This
  helped detecting and fixing several unneeded memory allocations. Some other
  memory allocations are now more visible (with an explicit Vector{}
  constructor).

- Add checks in GeneralMatrix(Vector, …) and ConstGeneralMatrix(ConstVector, …)
  constructors for verifying that the {Const,}Vector has unit-stride (this was
  an implicit assumption so far) and is large enough for storing rows*cols
  elements.

- Add GeneralMatrix::operator=(const ConstGeneralMatrix &).

- Delete ConstGeneralMatrix::operator=().
2019-01-24 15:27:23 +01:00
Sébastien Villemot fefccd4a1b
Reverts changes mistakenly added to commit f484942154. 2019-01-22 18:21:57 +01:00
Sébastien Villemot f484942154
Update dseries submodule 2019-01-22 18:10:16 +01:00
Sébastien Villemot c711d34d1d
Dynare++ / sylvester equation solver: refactor Vector and ConstVector classes
- these classes now encapsulate a std::shared_ptr<{const, }double>, so that
  they do not perform memory management, and several {Const,}Vector instances
  can transparently share the same underlying data

- make converting constructor from ConstVector to Vector explicit, since that
  entails memory allocation (but the reverse conversion is almost costless, so
  keep it implicit); do the same for GeneralMatrix/ConstGeneralMatrix,
  TwoDMatrix/ConstTwoDMatrix

- remove the constructors that were extracting a row/column from a matrix, and
  replace them by getRow() and getCol() methods on {Const,}GeneralMatrix

- rename and change the API of the complex version Vector::add(), so that it is
  explicit that it deals with complex numbers

- add constructors that take a MATLAB mxArray
2019-01-22 16:13:22 +01:00
Sébastien Villemot 966a1c2ac0
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
2019-01-09 15:51:19 +01:00
Sébastien Villemot 188d6296d7
Dynare++: finish to apply Dynare C++ coding style and extensions (.cc/.hh) 2019-01-08 17:12:05 +01:00
Sébastien Villemot ce1ef47093
dynare++ / tensor library (TL): move away from CWEB
By the way apply Dynare C++ coding style and extensions (.cc/.hh).
2019-01-08 16:09:25 +01:00
Sébastien Villemot df772325a2
dynare++/kord: move away from CWEB
By the way apply Dynare C++ coding style and extensions (.cc/.hh).
2019-01-04 16:32:05 +01:00
Sébastien Villemot 696ee5c8f0 Dynare++ MATLAB simulation helper: add an error message when dynare_simul_ DLL not in the path 2011-01-20 16:03:54 -05:00
Sébastien Villemot 82a59bec79 Dynare++ MATLAB simulation helper: fixed commit 92cb073f3a 2011-01-20 15:56:26 -05:00
Sébastien Villemot af0175443b Dynare++: fixed warning about comparison of signed with unsigned integers 2011-01-14 16:23:24 +01:00
Sébastien Villemot 757d8c36e9 Dynare++: fixed warnings about printf format strings 2011-01-14 16:22:26 +01:00
Houtan Bastani 92cb073f3a dynare_simul_: remove instances of mexErrMsgTxt 2010-09-23 10:45:35 +02:00
sebastien 3edf964685 Build system: delete obsolete files
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3117 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-03 10:41:55 +00:00
sebastien 3d755ad8be Dynare++, dynare_simul_ DLL: fixes for 64-bit MATLAB
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3113 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-02 12:03:02 +00:00
sebastien b92b48c58e Putting dynare++ under main dynare SVN repository
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2905 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-08 13:55:19 +00:00