Skip to content
Snippets Groups Projects
  1. Oct 11, 2013
  2. Oct 09, 2013
    • Steffen Müthing's avatar
      [Buildsystem] Provide macros for explicitly marking symbols as exported or private · e628bebd
      Steffen Müthing authored
      This patch adds a new header visibility.hh with macros DUNE_EXPORT and DUNE_PRIVATE
      to mark symbols as exported or private at the ABI level.
      
      While we do not explicitly mark any symbols as hidden, there are certain situations
      in which the compiler creates symbols with incorrect linkage, especially for singleton
      accessor methods for templated types and their embedded static variables, which involve
      the creation of weak symbols.
      
      The linker is then unable to merge those weak definitions, causing either a link-time
      failure (when building static libraries) or undefined runtime behaviour (dynamic libraries).
      
      This problem can be avoided by explicitly marking the singleton accessor methods as
      DUNE_EXPORT. For symmetry, there is also a DUNE_PRIVATE macro, but while it works, I don't
      see it used very much in the short term.
      e628bebd
  3. Oct 05, 2013
  4. Oct 02, 2013
  5. Oct 01, 2013
    • Martin Nolte's avatar
      [c++11] add support for C++11 constexpr · 45990b69
      Martin Nolte authored
      As decided on the developer meeting in Aachen, we support (but do not
      rely on) the C++11 keyword constexpr. This patch adds an m4-check for
      constexpr and a header (cxx11.hh) defining a macro DUNE_CONSTEXPR either
      as constexpr or empty (depending on the compiler support for it). It is
      then used in FieldVector and FieldMatrix on size, rows, and cols.
      45990b69
  6. Sep 27, 2013
  7. Sep 23, 2013
  8. Sep 19, 2013
  9. Sep 18, 2013
  10. Sep 10, 2013
    • Steffen Müthing's avatar
      Switch to a more robust algorithm for hash combining · 49a531b5
      Steffen Müthing authored and Christoph Grüninger's avatar Christoph Grüninger committed
      The current algorithm for hash combining behaves very poorly when hashing
      multiple short streams of small integers like (0,1,1,0,x) that only differ
      by a single large number x. These objects appear frequently in PDELab's ordering
      framework, and the resulting bad hash distribution really hurts the performance
      of the unordered containers in PDELab.
      
      This patch switches to an algorithm that is inspired by CityHash (see the source
      code comment) and has proven to be much more robust in testing.
      49a531b5
  11. Sep 02, 2013
  12. Aug 27, 2013
  13. Aug 26, 2013
  14. 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
  15. Aug 22, 2013
  16. Aug 19, 2013
  17. Aug 18, 2013
Loading