A class which provides access to an interpolating function which can be preallocated where useful. More...
Public Member Functions | |
virtual std::unique_ptr< IInterpolatorRTheta > | preallocate () const =0 |
Allocate an instance of a pointer to an InterpolatorRTheta. More... | |
host_t< DFieldRTheta > | operator() (host_t< DFieldRTheta > const inout_data, host_t< ConstFieldRTheta< CoordRTheta >> const coordinates) const override |
Approximate the value of a function at a set of coordinates using the current values at a known set of interpolation points. More... | |
A class which provides access to an interpolating function which can be preallocated where useful.
An abstract class which implements a preallocate function returning a pointer to an InterpolatorRTheta. A pointer to an InterpolatorRTheta is used so that the returned object can be any sub-class of IInterpolatorRTheta. The type (and thus the implementation of the operator) will be determined when the pointer is dereferenced.
The preallocate function should be used to allocate an instance of the IInterpolatorRTheta before using it repeatedly. Once the preallocated object goes out of scope it will be deallocated. This means that objects of this class take up little or no space in memory.
|
pure virtual |
Allocate an instance of a pointer to an InterpolatorRTheta.
Allocate and return an instance of a pointer to a sub-class of IInterpolatorRTheta.
Implemented in PreallocatableSplineInterpolatorRTheta< RadialExtrapolationRule >, and PreallocatableSplineInterpolatorRTheta< ddc::NullExtrapolationRule >.
|
inlineoverridevirtual |
Approximate the value of a function at a set of coordinates using the current values at a known set of interpolation points.
[in,out] | inout_data | On input: an array containing the value of the function at the interpolation points. On output: an array containing the value of the function at the coordinates. |
[in] | coordinates | The coordinates where the function should be evaluated. |
Implements IInterpolatorRTheta.