Commit 64c44fb3 authored by Oliver Sander's avatar Oliver Sander

[!124] Simplify implementation of MonomialBasisSize

Merge branch 'simplify-monomialbasis' into 'master'

ref:core/dune-localfunctions MonomialBasisSize is a class that computes the
number of monomial basis functions for a reference element given at compile
time and an approximation order given at run-time. The previous implementation
did a recursive template-meta-program sweep across the construction steps of
the reference elements (i.e., across, e.g., Pyramid\<Prism\<Prism<Point>\>\>).

However, it is much easier to simply use a for loop to iterate over the bit
representation of the construction in the topology id. This is what the
current patch does: it replaces the recursive TMP construction by an iterative
loop. The result is a much shorter code, and less stress for the compiler.
Also, it is one step on the way to getting rid of the reference-topology-
encoded-as-nested-type construction that is still in use here and there, and
should be replaced by constexpr GeometryType and friends.

See merge request [!124]

  [!124]: gitlab.dune-project.org/core/dune-localfunctions/merge_requests/124
parents 154a2631 bda7a6da
Pipeline #21491 passed with stage
in 11 minutes and 25 seconds