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 1 commit
  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 1 commit
    • 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
  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. 09 Jan, 2019 6 commits
  9. 04 Jan, 2019 1 commit