|
BSplinebasis
|
Classes | |
| class | Derivative |
| Derivative operator. More... | |
| class | IdentityOperator |
| Multiplicative identity operator. More... | |
| class | Operator |
| Marker interface for operators. More... | |
| class | OperatorProduct |
| Represents the product of two operators. More... | |
| class | OperatorSum |
| Operator sum. Represents the sum or difference of two operators. More... | |
| class | Position |
| Position operator. More... | |
| class | ScalarMultiplication |
| Multiplication operator for Operator and scalar. More... | |
| class | SplineOperator |
| Operator representation of a Spline. More... | |
Typedefs | |
| template<size_t n> | |
| using | Dx = Derivative< n > |
| Convenient alias for derivative operator. | |
| template<size_t n> | |
| using | X = Position< n > |
| Alias for Position operator. | |
Enumerations | |
| enum class | AdditionOperation { ADDITION , SUBTRACTION } |
Functions | |
| template<typename O1 , typename O2 , std::enable_if_t< are_operators_v< O1, O2 >, bool > = true> | |
| OperatorProduct< O1, O2 > | operator* (O1 &&o1, O2 &&o2) |
| Operator multiplication operator. | |
| template<typename O1 , typename O2 , std::enable_if_t< are_operators_v< O1, O2 >, bool > = true> | |
| auto | operator+ (O1 &&o1, O2 &&o2) |
| Operator sum. | |
| template<typename O1 , typename O2 , std::enable_if_t< are_operators_v< O1, O2 >, bool > = true> | |
| auto | operator- (O1 &&o1, O2 &&o2) |
| Operator difference. | |
| template<typename T , size_t order, typename O , std::enable_if_t< is_operator_v< O >, bool > = true> | |
| auto | transformSpline (const O &op, const Spline< T, order > &spline) |
| Applies operator to spline. | |
| template<typename O , typename S , std::enable_if_t< is_operator_v< O > &&is_spline_v< S >, bool > = true> | |
| auto | operator* (const O &o, const S &s) |
| Applies an operator to a spline. | |
| template<typename S > | |
| ScalarMultiplication (S s) -> ScalarMultiplication< S, IdentityOperator > | |
| ScalarMultiplication with default constructed operator. | |
| template<typename S , typename O , std::enable_if_t< are_scalar_multiplication_types_v< S, O >, bool > = true> | |
| ScalarMultiplication< S, O > | operator* (const S &s, O &&o) |
| Scalar-Opertator multiplication. | |
| template<typename S , typename O , std::enable_if_t< are_scalar_multiplication_types_v< S, O >, bool > = true> | |
| ScalarMultiplication< S, O > | operator* (O &&o, const S &s) |
| The scalar multiplication operator for an operator. | |
| template<typename S , typename O , std::enable_if_t< are_scalar_multiplication_types_v< S, O >, bool > = true> | |
| ScalarMultiplication< S, O > | operator/ (O &&o, const S &s) |
| The scalar division operator for an operator. | |
| template<typename S , typename O , std::enable_if_t< are_scalar_multiplication_types_v< S, O >, bool > = true> | |
| auto | operator+ (O &&o, const S &s) |
| template<typename S , typename O , std::enable_if_t< are_scalar_multiplication_types_v< S, O >, bool > = true> | |
| auto | operator+ (const S &s, O &&o) |
| The scalar addition operator for an operator. | |
| template<typename S , typename O , std::enable_if_t< are_scalar_multiplication_types_v< S, O >, bool > = true> | |
| auto | operator- (O &&o, const S &s) |
| The scalar subtraction operator for an operator. | |
| template<typename S , typename O , std::enable_if_t< are_scalar_multiplication_types_v< S, O >, bool > = true> | |
| auto | operator- (const S &s, O &&o) |
| template<typename O , std::enable_if_t< is_operator_v< O >, bool > = true> | |
| ScalarMultiplication< int, O > | operator- (O &&o) |
| Unitary minus operator. | |
Variables | |
| template<AdditionOperation operation> | |
| constexpr bool | is_valid_operation_v |
| Validates operation. | |
| template<typename O > | |
| constexpr bool | is_operator_v |
| Checks whether O is an operator. | |
| template<typename O1 , typename O2 > | |
| constexpr bool | are_operators_v = is_operator_v<O1> &&is_operator_v<O2> |
| Checks whether O1 and O2 are operators. | |
| template<typename T , typename O > | |
| constexpr bool | are_scalar_multiplication_types_v |
| Validates ScalarOperator template parameters. | |
| using bspline::operators::Dx = typedef Derivative<n> |
Convenient alias for derivative operator.
Alias for the derivative operator 
| n | Order of the derivative. |
Alias for Position operator.
Alias for the power 
| n | Order of the power of the position operator. |
Indicates which operation the OperatorSum is supposed to perform.
| Enumerator | |
|---|---|
| ADDITION | Perform addition. |
| SUBTRACTION | Perform subtraction. |
| auto bspline::operators::operator* | ( | const O & | o, |
| const S & | s | ||
| ) |
Applies an operator to a spline.
| o | The operator. |
| s | The spline. |
| O | The type of the operator. |
| S | The type of the spline. |
| ScalarMultiplication< S, O > bspline::operators::operator* | ( | const S & | s, |
| O && | o | ||
| ) |
Scalar-Opertator multiplication.
Deduction guide for a ScalarMultiplication of a scalar and an Operator.
| s | The scalar to be multiplied. |
| o | The operator to be multiplied. |
| S | The type of the scalar. |
| O | The type of the operator to be multiplied. |
| ScalarMultiplication< S, O > bspline::operators::operator* | ( | O && | o, |
| const S & | s | ||
| ) |
The scalar multiplication operator for an operator.
| o | The operator to be multiplied. |
| s | The scalar to be multiplied. |
| S | The type of the scalar. |
| O | The type of the operator to be multiplied. |
| OperatorProduct< O1, O2 > bspline::operators::operator* | ( | O1 && | o1, |
| O2 && | o2 | ||
| ) |
Operator multiplication operator.
The multiplication operator for two operators, returning an OperatorProduct.
| o1 | The first (left) operator. |
| o2 | The second (right) operator. |
| O1 | The type of the first (left) operator. |
| O2 | The type of the second (right) operator. |
| auto bspline::operators::operator+ | ( | const S & | s, |
| O && | o | ||
| ) |
The scalar addition operator for an operator.
| s | The scalar to be added. |
| o | The operator to be added. |
| S | The type of the scalar. |
| O | The type of the operator. |
| auto bspline::operators::operator+ | ( | O && | o, |
| const S & | s | ||
| ) |
The scalar addition operator for an operator.
| o | The operator to be added. |
| s | The scalar to be added. |
| S | The type of the scalar. |
| O | The type of the operator. |
Operator sum.
The addition operator for two operators, returning an OperatorSum.
| o1 | The first operator. |
| o2 | The second operator. |
| O1 | The type of the first operator. |
| O2 | The type of the second operator. |
| auto bspline::operators::operator- | ( | const S & | s, |
| O && | o | ||
| ) |
The scalar subtraction operator for an operator.
| s | The scalar. |
| o | The operator to be subtracted. |
| S | The type of the scalar. |
| O | The type of the operator. |
| ScalarMultiplication< int, O > bspline::operators::operator- | ( | O && | o | ) |
Unitary minus operator.
The unitary minus operator for an operator. Returns an ScalarMultiplication<int, O>.
| o | The operator to be negated. |
| O | The type of the operator to be negated. |
| auto bspline::operators::operator- | ( | O && | o, |
| const S & | s | ||
| ) |
The scalar subtraction operator for an operator.
| o | The operator. |
| s | The scalar to be subtracted. |
| S | The type of the scalar. |
| O | The type of the operator. |
Operator difference.
The subtraction operator for two operators, returning an OperatorSum.
| o1 | The first operator. |
| o2 | The second operator. |
| O1 | The type of the first operator. |
| O2 | The type of the second operator. |
| ScalarMultiplication< S, O > bspline::operators::operator/ | ( | O && | o, |
| const S & | s | ||
| ) |
The scalar division operator for an operator.
| o | The operator to be divided. |
| s | The divisor. |
| S | The type of the scalar. |
| O | The type of the operator to be divided. |
ScalarMultiplication with default constructed operator.
Deduction guide for a ScalarMultiplication constructed from a scalar alone.
| S | The type of the scalar. |
| auto bspline::operators::transformSpline | ( | const O & | op, |
| const Spline< T, order > & | spline | ||
| ) |
Applies operator to spline.
Helper method that applies an operator to a spline based on the transformation of the coefficients on a single interval.
| op | The operator to apply to the spline. |
| spline | The spline to apply the operator to. |
| T | The datatype of the input and output splines. |
| order | The order of the input spline. |
| O | The type of the operator. |
|
inlineconstexpr |
Checks whether O1 and O2 are operators.
Indicates whether both template parameters are operator types.
| O1 | First template parameter. |
| O2 | Second template parameter. |
Validates ScalarOperator template parameters.
Indicates whether the argument types may be arguments of a scalar multiplication (i.e. a scalar multiplied with an operator).
| T | Scalar type. |
| O | Operator type. |
Checks whether O is an operator.
Indicates whether the template parameter is an operator type.
| O | Template parameter. |
|
inlineconstexpr |
Validates operation.
Checks whether the operation is a valid oeration for OperatorSum.
| operation | The operation type to be checked. |