8#ifndef BSPLINE_OPERATORS_SCALAROPERATORS_H
9#define BSPLINE_OPERATORS_SCALAROPERATORS_H
11#include <bspline/Spline.h>
12#include <bspline/operators/CompoundOperators.h>
28template <
typename T,
typename O>
40template <
typename S,
typename O,
41 std::enable_if_t<are_scalar_multiplication_types_v<S, O>,
bool> =
96 template <
typename T,
size_t size>
103 el *=
static_cast<T>(_s);
131 typename S,
typename O,
132 std::enable_if_t<are_scalar_multiplication_types_v<S, O>,
bool> =
true>
147 typename S,
typename O,
148 std::enable_if_t<are_scalar_multiplication_types_v<S, O>,
bool> =
true>
163 typename S,
typename O,
164 std::enable_if_t<are_scalar_multiplication_types_v<S, O>,
bool> =
true>
179 typename S,
typename O,
180 std::enable_if_t<are_scalar_multiplication_types_v<S, O>,
bool> =
true>
195 typename S,
typename O,
196 std::enable_if_t<are_scalar_multiplication_types_v<S, O>,
bool> =
true>
211 typename S,
typename O,
212 std::enable_if_t<are_scalar_multiplication_types_v<S, O>,
bool> =
true>
227 typename S,
typename O,
228 std::enable_if_t<are_scalar_multiplication_types_v<S, O>,
bool> =
true>
243template <
typename O, std::enable_if_t<is_operator_v<O>,
bool> = true>
Marker interface for operators.
Definition GenericOperators.h:23
Multiplication operator for Operator and scalar.
Definition ScalarOperators.h:43
ScalarMultiplication(S s, O o)
Multiplication of scalar and Operator.
Definition ScalarOperators.h:60
ScalarMultiplication(S s)
Multiplication of scalar and a default constructed Operator.
Definition ScalarOperators.h:69
static constexpr size_t outputOrder(size_t inputOrder)
Returns the order of the output spline for a given input order.
Definition ScalarOperators.h:77
auto transform(const std::array< T, size > &input, const support::Grid< T > &grid, size_t intervalIndex) const
Applies operator to one interval.
Definition ScalarOperators.h:97
Represents a global Grid.
Definition Grid.h:27
Operator definitions.
Definition CompoundOperators.h:13
auto operator-(O1 &&o1, O2 &&o2)
Operator difference.
Definition CompoundOperators.h:244
auto operator+(O1 &&o1, O2 &&o2)
Operator sum.
Definition CompoundOperators.h:226
OperatorProduct< O1, O2 > operator*(O1 &&o1, O2 &&o2)
Operator multiplication operator.
Definition CompoundOperators.h:84
constexpr bool are_scalar_multiplication_types_v
Validates ScalarOperator template parameters.
Definition ScalarOperators.h:29
ScalarMultiplication< S, O > operator/(O &&o, const S &s)
The scalar division operator for an operator.
Definition ScalarOperators.h:165