Skip to content
Snippets Groups Projects
  1. May 06, 2019
  2. Apr 16, 2019
    • 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
      85fce383
  3. Apr 10, 2019
  4. Apr 09, 2019
    • 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
          isNumber,
      -   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
      39995de5
    • Carsten Gräser's avatar
      Get rid of toVector() · d883ca6e
      Carsten Gräser authored and Oliver Sander's avatar Oliver Sander committed
      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);`
      d883ca6e
    • Carsten Gräser's avatar
      Add missing include · 36190383
      Carsten Gräser authored and Oliver Sander's avatar Oliver Sander committed
      36190383
    • Carsten Gräser's avatar
      Simplify scalar entries in block vector classes · 0e962e10
      Carsten Gräser authored and Oliver Sander's avatar Oliver Sander committed
      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`).
      0e962e10
  5. Mar 28, 2019
  6. Mar 24, 2019
  7. Mar 22, 2019
  8. Mar 08, 2019
  9. Mar 07, 2019
  10. Mar 05, 2019
Loading