BSplinebasis
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
bspline::operators::OperatorProduct< O1, O2, > Class Template Referencefinal

Represents the product of two operators. More...

#include <CompoundOperators.h>

Inheritance diagram for bspline::operators::OperatorProduct< O1, O2, >:
Inheritance graph
[legend]
Collaboration diagram for bspline::operators::OperatorProduct< O1, O2, >:
Collaboration graph
[legend]

Public Member Functions

 OperatorProduct (O1 o1, O2 o2)
 Creates an OperatorProduct from two operators.
 
template<typename T , size_t size>
std::array< T, outputOrder(size - 1)+1 > transform (const std::array< T, size > &input, const support::Grid< T > &grid, size_t intervalIndex) const
 Applies operator to one interval.
 

Static Public Member Functions

static constexpr size_t outputOrder (size_t inputOrder)
 Returns the order of the output spline for a given input order.
 

Detailed Description

template<typename O1, typename O2, std::enable_if_t< are_operators_v< O1, O2 >, bool > = true>
class bspline::operators::OperatorProduct< O1, O2, >

Represents the product of two operators.

Template Parameters
O1The type of the first (left) operator.
O2The type of the second (right) operator.

Constructor & Destructor Documentation

◆ OperatorProduct()

template<typename O1 , typename O2 , std::enable_if_t< are_operators_v< O1, O2 >, bool > = true>
bspline::operators::OperatorProduct< O1, O2, >::OperatorProduct ( O1  o1,
O2  o2 
)
inline

Creates an OperatorProduct from two operators.

Parameters
o1The first (left) operator.
o2The second (right) ooperator.

Member Function Documentation

◆ outputOrder()

template<typename O1 , typename O2 , std::enable_if_t< are_operators_v< O1, O2 >, bool > = true>
static constexpr size_t bspline::operators::OperatorProduct< O1, O2, >::outputOrder ( size_t  inputOrder)
inlinestaticconstexpr

Returns the order of the output spline for a given input order.

Parameters
inputOrderthe order of the input spline.
Returns
The output spline-order for a given input input order.

◆ transform()

template<typename O1 , typename O2 , std::enable_if_t< are_operators_v< O1, O2 >, bool > = true>
template<typename T , size_t size>
std::array< T, outputOrder(size - 1)+1 > bspline::operators::OperatorProduct< O1, O2, >::transform ( const std::array< T, size > &  input,
const support::Grid< T > &  grid,
size_t  intervalIndex 
) const
inline

Applies operator to one interval.

Applies the operator to a set of coefficients (representing a polynomial on one interval).

Parameters
inputThe polynomial coefficients.
gridThe global grid with respect to which the splines are defined.
intervalIndexThe index of the begin of the interval with respect to the global grid.
Template Parameters
TThe datatype of the coefficients.
sizeThe size of the input array, i. e. the number of coefficients.
Returns
The polyomial coefficients arising from the application of this operator to the input coefficients.

The documentation for this class was generated from the following file: