- May 16, 2019
-
-
-
-
* update MatrixAdapter, OverlappingSchwarzOperator and NonoverlappingSchwarzOperator * store matrix as `shared_ptr` * update construction traits accordingly
-
Timo Koch authored
-
- Apr 10, 2019
-
-
Carsten Gräser authored
-
Carsten Gräser authored
-
Carsten Gräser authored
Replace many `Hybrid::ifElse(IsNumber<...` constructions by using `Impl::asMatrix()`. In some cases the (now only) implementation of the matrix branch was additionally cleaned up using range-based for.
-
Carsten Gräser authored
Using `Impl::asMatrix()` we can replace many special case implementations based on `Hybrid::ifElse(IsNumber...` which simplifies code and error messages and avoids some code duplication.
-
Carsten Gräser authored
-
Carsten Gräser authored
This invokes undefined behaviour and was now replaced by asMatrix() in dune-common.
-
Carsten Gräser authored
The fundamental difference is, that `toMatrix()` leads to undefined behaviour, because it dereference a pointer obtained from a `reinterpret_cast` violating strict aliasing rules. In contrast `asMatrix()` returns a wrapper modelling a proxy-matrix which is safe to use.
-
- Apr 09, 2019
-
-
Using the wrapper generated by `asVector()` we can get rid of `toVector()`. The important difference is, that `toVector()` invokes undefined behaviour by dereferencing the result of an aliasing `reinterpret_cast`. However, there's no noteable properties of the new implementation: * You can't use `asVector()` directly in calls to `mv()` and friends, because the latter is not robust wrt. to proxy references. * When creating copies of values, you can't replace `auto rhs = v[i];` by `auto rhs = Impl::asVector(v[i])` because proxy references don't use deep copy on purpose. Instead we have to use the two step `auto rhsValue = v[i]; auto&& rhs = Impl::asVector(rhsValue);`
-
-
Using `Impl::asVector()` we can get rid of several `Hybrid::ifElse()` constructions used to implement the special case of scalar entries (i.e. `IsNumber==true`).
-
- Mar 22, 2019
-
-
Christian Engwer authored
in order to get a `static constexpr` result, the method must be called via the type and not via `this`.
-
Oliver Sander authored
-
Oliver Sander authored
And test it.
-
Oliver Sander authored
In preparation of testing more matrix types
-
Oliver Sander authored
-
Oliver Sander authored
... and use it in bcrsmatrixtest.cc Currently we are only testing whether these methods are implemented and can be compiled.
-
Oliver Sander authored
-
Oliver Sander authored
-
Oliver Sander authored
Found by porting the unit test to the general vectortest.hh framework.
-
Oliver Sander authored
Rather than testing them manually.
-
Oliver Sander authored
-
Oliver Sander authored
This is possible now because we have IsNumber in dune-common.
-
Oliver Sander authored
-
Oliver Sander authored
-
Oliver Sander authored
This uncovers a bug in the method axpy, which is also fixed in this patch.
-
Oliver Sander authored
... and use it to test the BCRSMatrix class. Currently, the new test only tests the vector space operations required of a dune-istl matrix. More is to come in subsequent patches.
-
- Mar 08, 2019
-
-
Steffen Müthing authored
-
- Mar 07, 2019
-
-
Christian Engwer authored
-
- Mar 05, 2019
-
-
Nils-Arne Dreier authored
-
Nils-Arne Dreier authored
-
- Mar 04, 2019
-
-
Stephan Hilb authored
-
Christian Engwer authored
if on the initial AMG pre was called, it is currently it not necessary to call pre on a copy of that AMG. This is a feature that is not required by the Preconditioner interface and thus it nothing anybody can rely on. We now don't copy the temporary data anymore.
-
Christian Engwer authored
-
Christian Engwer authored
-
Christian Engwer authored
Hierarchy and MatrixHierarchy now have separate headers to improve readability.
-
Christian Engwer authored
-