Skip to content
Snippets Groups Projects
  1. Feb 25, 2015
  2. Feb 12, 2015
  3. Feb 09, 2015
  4. Feb 06, 2015
    • Steffen Müthing's avatar
      [Utility] Add infrastructure to handle operator->() for both lvalues and proxies · 7623a530
      Steffen Müthing authored
      If an iterator facade (like entity iterators) wants to allow the
      embedded implementation to return either an (internally stored)
      reference or a temporary object and expose these two behaviors to enable
      performance optimizations, operator->() needs special handling: If the
      implementation returns a reference, operator->() in the facade can
      simply return the address of the referenced object, but if the returned
      object is a temporary, we need to capture and store it in a helper
      object to make sure it outlives the member access.
      
      This patch adds a little helper function that tansparently handles both
      cases.
      7623a530
    • Steffen Müthing's avatar
      [ForLoop] Port ForLoop TMP to C++11 · 732ca75c
      Steffen Müthing authored
      The ForLoop TMP used to put a number of restrictions on the arguments to
      apply(), mainly due to the limited capabilities of C++01 wrt. to
      argument forwarding.
      
      But now we have C++11, so we can throw away all that awkward code and
      replace it with a single forwarding function that supports arbitrary
      numbers of arbitrary combinations of lvalues and rvalues - all hail
      variadic templates and perfect forwarding!
      732ca75c
  5. Jan 11, 2015
  6. Dec 29, 2014
  7. Dec 26, 2014
  8. Dec 18, 2014
    • Jö Fahlke's avatar
      14cbee71
    • Jö Fahlke's avatar
      [threads] Introduce DUNE_ASSERT_CALL_ONCE and assertCallOnce(). · 92947aaf
      Jö Fahlke authored
      These check whether std::call_once() works and provide a helpful error message
      if it does not.  They should be used in any code that uses std::call_once().
      
      Call once may not work if one forgets to _link_ with -pthread (or similar
      options).  The nasty think about this is that linking still succeeds, so this
      can only be detected at run time.  We cannot (in general) run compiled
      programs during configure, since we may be cross-compiling, so whatever we get
      from configure is at best a guess.
      
      Even if configure detects the necessary flags correctly, there may still be
      errors in the build system such that the executable is linked without them.
      
      The reason to provide such a facility is that the bug is quite difficult to
      debug when it appears.  The error message is mangled due to a different bug,
      and is quite unhelpful anyway.  And then there is the fun with weak symbols...
      92947aaf
  9. Dec 05, 2014
  10. Dec 02, 2014
  11. Dec 01, 2014
  12. Nov 28, 2014
  13. Nov 25, 2014
  14. Nov 21, 2014
  15. Nov 13, 2014
    • Jö Fahlke's avatar
      [doc][stackobject_to_shared_ptr()] Improve documentation. · 770f3ba9
      Jö Fahlke authored
      Add "@relatesalso null_deleter", this includes the documentation for the
      function with null_deleter but also leaves a standalone version.  Document
      what is so special about the shared_ptr the function returns.  Mention the
      #include needed to get the function.
      770f3ba9
  16. Nov 08, 2014
  17. Nov 07, 2014
  18. Nov 06, 2014
    • Oliver Sander's avatar
      Rip out the complete test for eigenValuesNonSym and replace it by the Rosser... · b9e712ac
      Oliver Sander authored
      Rip out the complete test for eigenValuesNonSym and replace it by the Rosser matrix test from fieldmatrixtest.cc
      
      The old test was complete nonsense: an implementation of some sort of strange
      undocumented shape function set that happened to need eigenvalues for something.
      Lots of undocumented code, and no checks at all whether the values obtained
      by eigenValuesNonSym actually make sense.
      
      Only, for the particular choice of parameters used, eigenValuesNonSym was never
      called.  Yes, you read this correctly: these hundreds of lines of code didn't
      actually test anything.
      
      The new test is copied form fieldmatrixtest.cc and adapted for DynamicMatrix
      types.  It computes eigenvalues of a given 8x8 matrix and compares with the known
      results.  Unfortunately, the test matrix is only symmetric.  Tests with more
      general matrices are left for another day.
      b9e712ac
    • Oliver Sander's avatar
      eigenValuesNonSym: Set size of the output vector before filling it · da604ca5
      Oliver Sander authored
      Rather than assuming the caller has set it to the correct size already.
      Setting the size in the method eigenValuesNonSym itself makes code
      more robust.  Plus, the time needed for that should be negligible
      compared to the actual eigenvalue computations.
      da604ca5
  19. Oct 29, 2014
Loading