SpECTRE
v2024.09.29
|
Performs a cubic interpolation; this class can be chosen via the options factory mechanism as a possible SpanInterpolator
.
More...
#include <CubicSpanInterpolator.hpp>
Public Types | |
using | options = tmpl::list<> |
Public Types inherited from intrp::SpanInterpolator | |
using | creatable_classes = tmpl::list< LinearSpanInterpolator, CubicSpanInterpolator, BarycentricRationalSpanInterpolator > |
Public Member Functions | |
CubicSpanInterpolator (const CubicSpanInterpolator &)=default | |
CubicSpanInterpolator & | operator= (const CubicSpanInterpolator &)=default |
CubicSpanInterpolator (CubicSpanInterpolator &&)=default | |
CubicSpanInterpolator & | operator= (CubicSpanInterpolator &&)=default |
CubicSpanInterpolator (CkMigrateMessage *) | |
WRAPPED_PUPable_decl_template (CubicSpanInterpolator) | |
void | pup (PUP::er &) override |
std::unique_ptr< SpanInterpolator > | get_clone () const override |
Produce a std::unique_ptr that points to a copy of *this `. More... | |
double | interpolate (const gsl::span< const double > &source_points, const gsl::span< const double > &values, double target_point) const override |
Perform the interpolation of function represented by values at source_points to the requested target_point , returning the interpolation result. More... | |
std::complex< double > | interpolate (const gsl::span< const double > &source_points, const gsl::span< const std::complex< double > > &values, double target_point) const |
size_t | required_number_of_points_before_and_after () const override |
The number of domain points that should be both before and after the requested target point for best interpolation. For instance, for a linear interpolator, this function would return 1 to request that the target is between the two domain points passed to source_points . More... | |
Public Member Functions inherited from intrp::SpanInterpolator | |
WRAPPED_PUPable_abstract (SpanInterpolator) | |
virtual std::unique_ptr< SpanInterpolator > | get_clone () const =0 |
Produce a std::unique_ptr that points to a copy of *this `. More... | |
virtual double | interpolate (const gsl::span< const double > &source_points, const gsl::span< const double > &values, double target_point) const =0 |
Perform the interpolation of function represented by values at source_points to the requested target_point , returning the interpolation result. More... | |
std::complex< double > | interpolate (const gsl::span< const double > &source_points, const gsl::span< const std::complex< double > > &values, double target_point) const |
Perform the interpolation of function represented by complex values at source_points to the requested target_point , returning the (complex) interpolation result. | |
virtual size_t | required_number_of_points_before_and_after () const =0 |
The number of domain points that should be both before and after the requested target point for best interpolation. For instance, for a linear interpolator, this function would return 1 to request that the target is between the two domain points passed to source_points . More... | |
Static Public Attributes | |
static constexpr Options::String | help = {"Cubic interpolator."} |
Performs a cubic interpolation; this class can be chosen via the options factory mechanism as a possible SpanInterpolator
.
This interpolator is hand-coded to be identical to the SpEC implementation used for SpEC CCE so that comparison results can be as close as possible for diagnostics.
|
inlineoverridevirtual |
Produce a std::unique_ptr
that points to a copy of *this
`.
Implements intrp::SpanInterpolator.
|
overridevirtual |
Perform the interpolation of function represented by values
at source_points
to the requested target_point
, returning the interpolation result.
Implements intrp::SpanInterpolator.
|
inlineoverridevirtual |
The number of domain points that should be both before and after the requested target point for best interpolation. For instance, for a linear interpolator, this function would return 1
to request that the target is between the two domain points passed to source_points
.
Implements intrp::SpanInterpolator.