- Oct 27, 2017
-
-
Jö Fahlke authored
This introduces a helper function that enables `auto` type deduction even in the presence of proxies and pre-C++11 libraries with a tendency to capture references to temporaries. Note: the motivating examples below make use of specializations of `autoCopy()` that will be introduced in later commits. Example 1: deducing the element type of a vector when proxies are a possibility: ```c++ template<class Vector> auto pop_and_clear(Vector &v) { auto head = autoCopy(v[0]); v.clear(); return head; } ``` Without `autoCopy()` this would be undefined behaviour if `Vector` happens to be `std::vector<bool>`. Example 2: a custom number type with lazy evaluation: ```c++ template<class MaybeCustomType> auto f(MaybeCustomType v) { return 2 * v - 1; } ``` This fails for the custom number type from the automatic differentiation library Adept, because Adept constructs an expression object that holds references to its subexpressions and is evaluated only when it is assigned to a number object later. Due to the use of `auto` this expression object is passed out of the function, but the temporary object for the subexpression `2*v` is destroyed when the function returns. Wrapping the expression in the `return` statement with `autoCopy()` ensures that the evaluation happens while the reference to the subexpression is still valid, and has no ill effect when fundamental types instead of Adept's custom types are used.
-
- Oct 26, 2017
-
-
Carsten Gräser authored
[Vc] Deal with the missing swap() on Vc proxies. Closes #59 See merge request !339
-
- Oct 24, 2017
-
-
Jö Fahlke authored
-
Jö Fahlke authored
-
Jö Fahlke authored
This is a problem with Vc 1.3.0. Vc 1.3.2 seems to have implemented `swap()`. We work around it using copying and a temporary to implement `swap()` on our own wrapping proxies. Any member type of a Vc SIMD type should be a fundamental type, so we don't bother using moves. Closes: #59.
-
Jö Fahlke authored
This is needed by the `luDecomposition()` in densematrix.hh
-
Jö Fahlke authored
This is needed because newer versions of Vc introduce their own proxies as the result of expression like `v[0]`. These proxies cannot be constructed outside of Vc, not even by copying or moving, so we cannot pass them out of our `lane()` function. We work around this by introducing our own proxy class, that we can copy. That proxy class was originally introduced for !193 (Proper SIMD Interface) and has been backported for the 2.6 Dune release. Closes: #59
- Oct 23, 2017
-
-
Ansgar Burchardt authored
bump version to 2.7-git [ci skip] See merge request core/dune-common!337
-
Ansgar Burchardt authored
-
- Oct 16, 2017
-
-
Ansgar Burchardt authored
parallel index sets: correct typo; return value of AllSet::contains() [ci skip] See merge request core/dune-common!335
-
Ansgar Burchardt authored
-
Ansgar Burchardt authored
-
- Oct 11, 2017
-
-
Oliver Sander authored
Fix module name for dunecontrol update Closes #78 See merge request core/dune-common!332
-
- Oct 10, 2017
-
-
Oliver Sander authored
Fix status message See merge request core/dune-common!331
-
Christoph Grüninger authored
When dunecontrol update fails the module name no longer has underscores instead of hyphens. This fixes #78
-
Oliver Sander authored
We are not 'running' the doxygen documentation, we are building it.
-
- Oct 06, 2017
-
-
Carsten Gräser authored
Replace throw by terminate in destructor See merge request core/dune-common!327
-
Ansgar Burchardt authored
re-enable transformTuple test fails with debian 8 gcc See merge request core/dune-common!273
-
Martin Nolte authored
added a range function for range based for loops over consecutive integers See merge request core/dune-common!325
-
Martin Nolte authored
-
Andreas Dedner authored
-
Martin Nolte authored
[std] add fallback implementation for std::conjunction / std::disjunction See merge request core/dune-common!322
-
- Oct 05, 2017
-
-
-
Carsten Gräser authored
Disbable a deprecation warning in a test See merge request core/dune-common!328
-
Carsten Gräser authored
Since the destructor is no longer noexcept(false) it will never throw an exception to its caller but always call std::terminate().
-
Carsten Gräser authored
-
Carsten Gräser authored
In C++11 destructors are implcity `noexcept` such that a `throw` leads to a call of `std::terminate()` anyway. Hence this commit does not change the behaviour but only avoids a warning. BTW: Destructors are `noexcept` for good reason, because it is in general very hard to recover from a failing destructor. This also applies here.
-
Steffen Müthing authored
Require GCC 5 and C++14 See merge request core/dune-common!320
-
- Oct 04, 2017
-
-
Christoph Grüninger authored
Feature/require cmake 3.1 See merge request core/dune-common!323
-
Christoph Grüninger authored
-
Christoph Grüninger authored
-
- Oct 02, 2017
-
-
Dominic Kempf authored
[bugfix] Correctly display headercheck status message Closes #86 See merge request !326
-
Dominic Kempf authored
Surprisingly, the -D and -P arguments to cmake are required in a specific order: D before P!
-
- Sep 29, 2017
-
-
Martin Nolte authored
-
- Sep 26, 2017
-
-
Martin Nolte authored
implement optional similarly to the one propoed in C++14 draft N3690 See merge request !276
-
- Sep 23, 2017
-
-
Ansgar Burchardt authored
[cleanup] fix some typos See merge request !321
-