Skip to content
Snippets Groups Projects
  1. Sep 27, 2013
  2. Sep 09, 2013
  3. Sep 03, 2013
  4. Sep 02, 2013
  5. Aug 30, 2013
  6. Aug 28, 2013
  7. Aug 27, 2013
  8. Aug 26, 2013
  9. Aug 23, 2013
    • Oliver Sander's avatar
      Use variadic templates for PushBackTuple and PushFrontTuple, if available · 4152f73f
      Oliver Sander authored
      The two classes PushBackTuple and PushFrontTuple are both implemented
      using a long list of template specializations.  This makes for a lot
      of code, and it also limits the maximum tuple size that can be used.
      Using variadic templates (FYI: available since gcc-4.3) instead
      allows a generic implementation in only a few lines of code, and
      only the compiler being the upper limit on tuple size.
      
      An implementation using variadic templates has already been given
      in the documentation of PushBackTuple/PushFrontTuple.  This patch
      starts to actually use that implementation, provided that
      HAVE_VARIADIC_TEMPLATES is set.  Otherwise the old implementation
      is used.
      4152f73f
  10. Aug 22, 2013
    • Steffen Müthing's avatar
      Add support for MPICH 3.x · 21d244f4
      Steffen Müthing authored
      MPICH has stepped up its versioning scheme, jumping from MPICH2 1.x
      to MPICH 3.x, but has stayed compatible to the older MPICH2 versions.
      Unfortunately, the macro MPICH2_VERSION used by mpi_config.m4 to detect
      the package has been renamed to MPICH_VERSION.
      
      This patch fixes the problem by adding a separate test for MPICH_VERSION
      ana making sure that the macro starts with the letter "3".
      21d244f4
    • Markus Blatt's avatar
      Fixed formatting. · 29501d1a
      Markus Blatt authored
      29501d1a
  11. Aug 21, 2013
  12. Aug 20, 2013
  13. Aug 19, 2013
  14. Aug 18, 2013
  15. Aug 08, 2013
  16. Jul 24, 2013
    • Steffen Müthing's avatar
      [FieldVector] Change FieldVector default constructor to default-initialize data · b4328de2
      Steffen Müthing authored
      The default constructor of the FieldVector has intentionally avoided calling a
      constructor for the contained data to eliminate the potential overhead of that
      initialization.
      During implementation of a new creation mode of the BCRSMatrix, it was discovered
      that this behavior is problematic due to its inconsistency: If the data type
      contained in the FieldVector is a non-trivial type, a default-constructed
      FieldVector will be fully initialized. On the other hand, with a primitive data
      type it will be in an uninitialized state, potentially causing undefined behavior.
      
      As this behavior might be very unintuitive for users and made implementing the new,
      more efficient creation method for the BCRS matrix very difficult to implement, this
      patch changes the FieldVector default constructor to always default-construct its
      contents regardless of its type. While this change does introduce a possible
      performance regression (for primitive types, the compiler now has to zero out the
      memory), the overhead has been measured to be minimal.
      
      The actual implementation prefers to use the new C++11 unified initialization
      syntax and falls back to std::fill for older compilers. The distinction was made
      because newer compilers generate much more efficient code when using unified
      initialization, and for user-defined types, this approach avoids first calling the
      default constructors and then the copy assignment operator.
      b4328de2
    • Steffen Müthing's avatar
      41a83732
Loading