8#ifndef BSPLINE_INTEGRATION_BILINEARFORM_H
9#define BSPLINE_INTEGRATION_BILINEARFORM_H
11#include <bspline/Spline.h>
12#include <bspline/operators/GenericOperators.h>
35template <
typename O1,
typename O2,
36 std::enable_if_t<operators::are_operators_v<O1, O2>,
bool> =
true>
55 template <
typename T,
size_t sizea,
size_t sizeb>
56 static T evaluateInterval(
const std::array<T, sizea> &
a,
57 const std::array<T, sizeb> &
b,
const T &
dxhalf) {
61 for (
size_t j =
i % 2;
j <
sizeb;
j += 2) {
118 template <
typename T,
size_t ordera,
size_t orderb>
122 a.getSupport().calcIntersection(
b.getSupport());
133 a.getSupport().intervalIndexFromAbsolute(
absIndex).value();
135 b.getSupport().intervalIndexFromAbsolute(
absIndex).value();
140 result += evaluateInterval(
151 template <
typename T,
size_t ordera,
size_t orderb>
167template <
typename O2>
Multiplicative identity operator.
Definition GenericOperators.h:95
Represents a global Grid.
Definition Grid.h:27
size_t size() const
Returns the number of elements of the Grid.
Definition Grid.h:169
Represents the Spline's Support.
Definition Support.h:33
Integration routines for Splines.
Definition BilinearForm.h:21