// // Author: Joshua Cohen // Copyright 2016 // #ifndef UNIFORMINTERP_H #define UNIFORMINTERP_H #include #include struct UniformInterp { template U bilinear(double,double,std::vector >&); template U bicubic(double,double,std::vector >&); void sinc_coef(double,double,int,double,int,int&,int&,std::vector&); std::complex sinc_eval(std::vector >&,int,std::vector&,int,int,int,double); template U sinc_eval_2d(std::vector >&,std::vector&,int,int,int,int,double,double,int,int); float interp2DSpline(int,int,int,std::vector >&,double,double); void initSpline(std::vector&,int,std::vector&,std::vector&); double spline(double,std::vector&,int,std::vector&); int ifrac(double); double quadInterpolate(std::vector&,std::vector&,double); }; #endif