1. 06 May, 2019 2 commits
  2. 16 Apr, 2019 1 commit
    • Oliver Sander's avatar
      [!289] Simplify code using asMatrix() · 85fce383
      Oliver Sander authored
      Merge branch 'feature/implement-scalarmatrixview' into 'master'
      ref:core/dune-istl This is based on [dune-common!656] which introduces
      Impl::asMatrix() using this we can avoid many Hybrid::ifElse constructions
      which increase complexity of the implementation and error messages.
      Furthermore we can drop toMatrix() which fixed [#63].
      This is a clone of [!288]. Is was created in order to tell the CI to use the
      corresponding branch in dune-common using a matching branch name.
      See merge request [!289]
        [dune-common!656]: gitlab.dune-project.org/Nonedune-common/merge_requests/656
        [#63]: gitlab.dune-project.org/NoneNone/issues/63
        [!288]: gitlab.dune-project.org/NoneNone/merge_requests/288
        [!289]: gitlab.dune-project.org/core/dune-istl/merge_requests/289
      Closes #63
  3. 10 Apr, 2019 7 commits
  4. 09 Apr, 2019 4 commits
    • Oliver Sander's avatar
      [!287] Simplify implementation for vectors with scalar entries · 39995de5
      Oliver Sander authored
      Merge branch 'feature/simplify-scalar-entries' into 'master'
      ref:core/dune-istl Using the new Impl::asVector() from dune-common we can get
      rid of
      -   several Hybrid::isElse() constructions used to implement special cases for
      -   undefined behaviour invoked by toVector() due to the latter violating
          strict aliasing rules.
      This also removed the dangerous toVector() methods. This is only a partial
      solution to [#63]. We also need to do the same for toMatrix() which requires
      an analogue Impl::asMatrix() function and a ScalarMatrixView wrapper class.
      See merge request [!287]
        [#63]: gitlab.dune-project.org/NoneNone/issues/63
        [!287]: gitlab.dune-project.org/core/dune-istl/merge_requests/287
    • Carsten Gräser's avatar
      Get rid of toVector() · d883ca6e
      Carsten Gräser authored
      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);`
    • Carsten Gräser's avatar
      Add missing include · 36190383
      Carsten Gräser authored
    • Carsten Gräser's avatar
      Simplify scalar entries in block vector classes · 0e962e10
      Carsten Gräser authored
      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`).
  5. 28 Mar, 2019 1 commit
  6. 24 Mar, 2019 1 commit
  7. 22 Mar, 2019 16 commits
  8. 08 Mar, 2019 2 commits
  9. 07 Mar, 2019 2 commits
  10. 05 Mar, 2019 4 commits