|
SpECTRE
v2025.08.19
|
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.