Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
intrp::BarycentricRationalSpanInterpolator Class Reference

Performs a barycentric interpolation with an order in a range fixed at construction; this class can be chosen via the options factory mechanism as a possible SpanInterpolator. More...

#include <BarycentricRationalSpanInterpolator.hpp>

Classes

struct  MaxOrder
 
struct  MinOrder
 

Public Types

using options = tmpl::list< MinOrder, MaxOrder >
 
- Public Types inherited from intrp::SpanInterpolator
using creatable_classes = tmpl::list< LinearSpanInterpolator, CubicSpanInterpolator, BarycentricRationalSpanInterpolator >
 

Public Member Functions

 BarycentricRationalSpanInterpolator (CkMigrateMessage *) noexcept
 
 WRAPPED_PUPable_decl_template (BarycentricRationalSpanInterpolator)
 
void pup (PUP::er &p) noexcept override
 
 BarycentricRationalSpanInterpolator (const BarycentricRationalSpanInterpolator &) noexcept=default
 
BarycentricRationalSpanInterpolatoroperator= (const BarycentricRationalSpanInterpolator &) noexcept=default
 
 BarycentricRationalSpanInterpolator (BarycentricRationalSpanInterpolator &&) noexcept=default
 
BarycentricRationalSpanInterpolatoroperator= (BarycentricRationalSpanInterpolator &&) noexcept=default
 
 BarycentricRationalSpanInterpolator (size_t min_order, size_t max_order) noexcept
 
std::unique_ptr< SpanInterpolatorget_clone () const noexcept override
 Produce a std::unique_ptr that points to a copy of *this`.
 
double interpolate (const gsl::span< const double > &source_points, const gsl::span< const double > &values, double target_point) const noexcept override
 Perform the interpolation of function represented by values at source_points to the requested target_point, returning the interpolation result.
 
size_t required_number_of_points_before_and_after () const noexcept 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.
 
virtual double interpolate (const gsl::span< const double > &source_points, const gsl::span< const double > &values, double target_point) const noexcept=0
 Perform the interpolation of function represented by values at source_points to the requested target_point, returning the interpolation result.
 
std::complex< double > interpolate (const gsl::span< const double > &source_points, const gsl::span< const std::complex< double >> &values, double target_point) const noexcept
 Perform the interpolation of function represented by complex values at source_points to the requested target_point, returning the (complex) interpolation result.
 
- Public Member Functions inherited from intrp::SpanInterpolator
 WRAPPED_PUPable_abstract (SpanInterpolator)
 
std::complex< double > interpolate (const gsl::span< const double > &source_points, const gsl::span< const std::complex< double >> &values, double target_point) const noexcept
 Perform the interpolation of function represented by complex values at source_points to the requested target_point, returning the (complex) interpolation result.
 

Static Public Attributes

static constexpr Options::String help
 

Detailed Description

Performs a barycentric interpolation with an order in a range fixed at construction; this class can be chosen via the options factory mechanism as a possible SpanInterpolator.

Details

This will call a barycentric interpolation on a fixed minimum length, so that buffers that adjust length based on required_points_before_and_after() can be forced to use an interpolator of a target order.

Member Data Documentation

◆ help

constexpr Options::String intrp::BarycentricRationalSpanInterpolator::help
staticconstexpr
Initial value:
= {
"Barycentric interpolator of option-defined maximum and minimum order."}

The documentation for this class was generated from the following files: