1. 11 Feb, 2019 1 commit
    • Sébastien Villemot's avatar
      Dynare++ tensor library: modernize the Symmetry class · 1f7d3bed
      Sébastien Villemot authored
      We now use a initializer list constructor for creating symmetries of the form
      $y^n$, $y^n u^m$, $y^nu^m\sigma^k$.
      
      The constructor taking a single integer is used to initialize a symmetry of a
      given length.
      
      Similar changes are made to IntSequence.
      
      This behavior is similar to std::vector.
      1f7d3bed
  2. 06 Feb, 2019 2 commits
  3. 05 Feb, 2019 1 commit
    • Sébastien Villemot's avatar
      Dynare++: fix computation of IRFs · 8698b4c5
      Sébastien Villemot authored
      Since the introduction of the --burn option (in Dynare++ shipped with Dynare
      4.3.0), the IRFs reported by Dynare++ were wrong.
      
      The IRFs are computed using a generalized IRF method: the result is
      the (average) difference between a simulation with shock and a simulation
      without shock. The problem was that the two simulations were not using the same
      starting point.
      
      Closes #1634
      8698b4c5
  4. 29 Jan, 2019 1 commit
  5. 28 Jan, 2019 1 commit
    • Sébastien Villemot's avatar
      Dynare++: use C++11 threads (instead of POSIX threads API) · 752a02a3
      Sébastien Villemot authored
      On Windows, this means that a POSIX threads implementation is no longer needed,
      since C++11 threads are implemented using native Windows threads.
      
      On GNU/Linux and macOS, POSIX threads are still used under the hood.
      
      A new m4 macro (AX_CXX11_THREAD) is used to add the proper compilation
      flags (instead of AX_PTHREAD).
      752a02a3
  6. 24 Jan, 2019 2 commits
    • Sébastien Villemot's avatar
      Refactor GeneralMatrix and ConstGeneralMatrix classes · 1ef1dedc
      Sébastien Villemot authored
      - 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=().
      1ef1dedc
    • Sébastien Villemot's avatar
      Dynare++: ensure that all calls to BLAS/LAPACK use the correct LD values · a2f2814c
      Sébastien Villemot authored
      Many BLAS/LAPACK calls were making the assumption that LD==rows when passing
      matrices. In some cases this was correct (because of implementation details,
      in particular because how the copy constructor of GeneralMatrix is implemented).
      But in other cases it was a bug.
      
      With this commit, the actual value for LD is systematically used (this fixes
      existing bugs and prevent possible future ones if the implementation details
      were changed).
      a2f2814c
  7. 22 Jan, 2019 3 commits
    • Sébastien Villemot's avatar
    • Sébastien Villemot's avatar
      Update dseries submodule · f4849421
      Sébastien Villemot authored
      f4849421
    • Sébastien Villemot's avatar
      Dynare++ / sylvester equation solver: refactor Vector and ConstVector classes · c711d34d
      Sébastien Villemot authored
      - 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
      c711d34d
  8. 15 Jan, 2019 1 commit
  9. 14 Jan, 2019 2 commits
  10. 09 Jan, 2019 8 commits
  11. 08 Jan, 2019 3 commits
  12. 04 Jan, 2019 2 commits
  13. 06 Nov, 2018 1 commit
    • Sébastien Villemot's avatar
      Build system improvements on Windows (MinGW / MSYS2) · 671fe4bc
      Sébastien Villemot authored
      - Use the -static flag when linking Dynare++, so that shipping libquadmath and
        libgcc DLL in the installer is no longer needed.
      
      - Use AM_CXXFLAGS and AM_LDFLAGS variables for changing flags, since CXXFLAGS
        and LDFLAGS are user variables. Also, this avoids passing these flags down to
        configure scripts in subdirectories.
      
      - Check for the SZIP library in the configure test for the MatIO, this is
        needed under MSYS2.
      
      - Statically link MatIO and GSL in MEX files for MATLAB, this is needed under
        MSYS2.
      671fe4bc
  14. 28 Jun, 2017 1 commit
  15. 23 May, 2017 1 commit
  16. 01 Dec, 2016 1 commit
  17. 17 Jul, 2016 1 commit
  18. 27 Mar, 2015 1 commit
  19. 22 Nov, 2012 1 commit
  20. 26 Sep, 2012 1 commit
  21. 21 Sep, 2012 1 commit
  22. 11 Sep, 2012 2 commits
  23. 23 Aug, 2012 1 commit
  24. 25 Jul, 2012 1 commit