LSST Applications
21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
LSST Data Management Base Package
|
#include <Interpolate.h>
Public Types | |
enum | Style { UNKNOWN = -1 , CONSTANT = 0 , LINEAR = 1 , NATURAL_SPLINE = 2 , CUBIC_SPLINE = 3 , CUBIC_SPLINE_PERIODIC = 4 , AKIMA_SPLINE = 5 , AKIMA_SPLINE_PERIODIC = 6 , NUM_STYLES } |
Public Member Functions | |
Interpolate (Interpolate const &)=delete | |
Interpolate (Interpolate &&)=delete | |
Interpolate & | operator= (Interpolate const &)=delete |
Interpolate & | operator= (Interpolate &&)=delete |
virtual | ~Interpolate ()=default |
virtual double | interpolate (double const x) const =0 |
std::vector< double > | interpolate (std::vector< double > const &x) const |
ndarray::Array< double, 1 > | interpolate (ndarray::Array< double const, 1 > const &x) const |
Protected Member Functions | |
Interpolate (std::vector< double > const &x, std::vector< double > const &y, Interpolate::Style const style=UNKNOWN) | |
Base class ctor. More... | |
Interpolate (std::pair< std::vector< double >, std::vector< double > > const xy, Interpolate::Style const style=UNKNOWN) | |
Base class ctor. More... | |
Protected Attributes | |
std::vector< double > const | _x |
std::vector< double > const | _y |
Interpolate::Style const | _style |
Friends | |
std::shared_ptr< Interpolate > | makeInterpolate (std::vector< double > const &x, std::vector< double > const &y, Interpolate::Style const style) |
A factory function to make Interpolate objects. More... | |
Definition at line 36 of file Interpolate.h.
Enumerator | |
---|---|
UNKNOWN | |
CONSTANT | |
LINEAR | |
NATURAL_SPLINE | |
CUBIC_SPLINE | |
CUBIC_SPLINE_PERIODIC | |
AKIMA_SPLINE | |
AKIMA_SPLINE_PERIODIC | |
NUM_STYLES |
Definition at line 38 of file Interpolate.h.
|
delete |
|
delete |
|
virtualdefault |
|
inlineprotected |
Base class ctor.
x | the ordinates of points |
y | the values at x[] |
style | desired interpolator |
Definition at line 67 of file Interpolate.h.
|
protected |
Base class ctor.
Note that we should use rvalue references when available as the vectors in xy will typically be movable (although the returned-value-optimisation might suffice for the cases we care about)
xy | pair (x,y) where x are the ordinates of points and y are the values at x[] |
style | desired interpolator |
Definition at line 335 of file Interpolate.cc.
|
pure virtual |
Implemented in lsst::afw::math::InterpolateGsl, and lsst::afw::math::InterpolateConstant.
ndarray::Array< double, 1 > lsst::afw::math::Interpolate::interpolate | ( | ndarray::Array< double const, 1 > const & | x | ) | const |
Definition at line 303 of file Interpolate.cc.
std::vector< double > lsst::afw::math::Interpolate::interpolate | ( | std::vector< double > const & | x | ) | const |
Definition at line 294 of file Interpolate.cc.
|
delete |
|
delete |
|
friend |
A factory function to make Interpolate objects.
x | the x-values of points |
y | the values at x[] |
style | desired interpolator |
Definition at line 342 of file Interpolate.cc.
|
protected |
Definition at line 85 of file Interpolate.h.
|
protected |
Definition at line 83 of file Interpolate.h.
|
protected |
Definition at line 84 of file Interpolate.h.