Commit 885eeec7 authored by Simon Praetorius's avatar Simon Praetorius

[!212] add template parameter for range type to lagrange basis

Merge branch 'feature/generic_lagrange_basis' into 'master'

ref:staging/dune-functions

### Summary

This MR adds a template parameter to the LagrangePreBasis, for setting the
local-basis range type.

### Details

Following a discussion in issue [#44] , the lagrange basis was fixed to range
type double for the PQkLocalFiniteElement. This is resolved with this MR, by
adding the range template parameter. It is defaulted to double so that no
changes in user code should be necessary, especially when you only use the
generator function lagrange<k>() or lagrange(k).

The range type is added as last template parameter to the pre-basis, node, and
node-indexset.

### Example:

    // compile-time order
    auto basis0 = makeBasis(gridView, lagrange<k>()); // range type = double
    auto basis1 = makeBasis(gridView, lagrange<k, float>());

    // run-time order
    auto basis2 = makeBasis(gridView, lagrange(k)); // range type = double
    auto basis3 = makeBasis(gridView, lagrange<float>(k));

See merge request [!212]

  [#44]: gitlab.dune-project.org/NoneNone/issues/44
  [!212]: gitlab.dune-project.org/staging/dune-functions/merge_requests/212
parents 2e74addd d99bf615
Pipeline #21467 passed with stage
in 9 minutes and 41 seconds