BSplinebasis
|
Main namespace for this library. More...
Namespaces | |
namespace | exceptions |
Exceptions and error codes. | |
namespace | integration |
Integration routines for Splines. | |
namespace | interpolation |
Code to interpolate data using the bspline::Spline. | |
namespace | operators |
Operator definitions. | |
namespace | support |
Namespace for the Spline's Grid and Support. | |
Classes | |
class | BSplineGenerator |
Generates the BSplines on a grid. More... | |
class | Spline |
The central Spline class of the library. More... | |
Functions | |
template<size_t order, typename T > | |
std::vector< Spline< T, order > > | generateBSplines (std::vector< T > knots) |
Convenience method to generate a set of BSplines. | |
template<typename T , size_t ARRAY_SIZE> | |
Spline (Support< T > support, std::vector< std::array< T, ARRAY_SIZE > > coefficients) -> Spline< T, ARRAY_SIZE - 1 > | |
Deduction guide for spline constructed from array. | |
template<typename T , size_t order> | |
Spline< T, order > | operator* (const T &d, const Spline< T, order > &b) |
Commutation of spline scalar multiplication operator. | |
template<typename CoeffIter , typename SplineIter > | |
auto | linearCombination (CoeffIter coeffsBegin, CoeffIter coeffsEnd, SplineIter splinesBegin, SplineIter splinesEnd) |
Calculates the linear combination. | |
template<typename CoeffCollection , typename SplineCollection > | |
auto | linearCombination (const CoeffCollection &coeffs, const SplineCollection &splines) |
Calculates the linear combination. | |
Variables | |
template<typename S > | |
constexpr bool | is_spline_v = is_spline<S>::value |
Main namespace for this library.
Convenience method to generate a set of BSplines.
knots | The knots vector to generate the splines from. |
order | The order of the BSplines to generate. |
T | The data type of the knots vector and the generated BSplines. |
BSplineException | If the knots vector does not contain enough entries to generate a spline of the requested order. |
BSplineException | If the knots are not in increasing order. |
auto bspline::linearCombination | ( | CoeffIter | coeffsBegin, |
CoeffIter | coeffsEnd, | ||
SplineIter | splinesBegin, | ||
SplineIter | splinesEnd | ||
) |
Calculates the linear combination.
Calculates the linear combination of splines. Is more efficient than successive scalar multiplications and spline additions.
coeffsBegin | The iterator referencing the first element of the coefficient collection. |
coeffsEnd | The iterator referencing the end of the coefficient collection. |
splinesBegin | The iterator referencing the first element of the spline collection. |
splinesEnd | The iterator referencing the end of the spline collection. |
CoeffIter | An iterator referencing a coefficient of type T. |
SplineIter | An iterator referenchig a spline of type Spline<T, order>. |
BSplineException | If the number of coefficients differs from the number of splines, if the number of coefficients and splines are zero or the grids of all splines are not logically equivalent. |
auto bspline::linearCombination | ( | const CoeffCollection & | coeffs, |
const SplineCollection & | splines | ||
) |
Calculates the linear combination.
Calculates the linear combination of splines. Is more efficient than successive scalar multiplications and spline additions.
coeffs | The coefficient collection. |
splines | The spline collection. |
CoeffCollection | A collection of coefficients of type T. Must provide begin() and end() iterators. |
SplineCollection | A collection of splines of type Spline<T, order>. Must provide begin() and end() iterators. |
BSplineException | If the number of coefficients differs from the number of splines, if the number of coefficients and splines are zero or the grids of all splines are not logically equivalent. |
Commutation of spline scalar multiplication operator.
d | Scalar to be multiplied. |
b | Spline to be multiplied. |
T | Datatype of spline and scalar. |
order | Order of the spline. |