Program Listing for File interpolation.h¶
↰ Return to documentation for file (include/lupnt/numerics/interpolation.h
)
#include <cassert>
#include <iostream>
#include <vector>
#include "lupnt/core/constants.h"
namespace lupnt {
double LinearInterp1d(const VecXd& x, const VecXd& data, double ix);
double LinearInterp2d(const VecXd& x, const VecXd& y, const MatXd& data, double ix, double iy);
class LagrangeInterpolator {
public:
LagrangeInterpolator(const VecXd& x, double xi, int order);
double Interpolate(const VecXd& data);
private:
VecXd x_;
double xi_;
int order_;
VecXd weights_;
int i0_;
void ComputeFirstIndex();
void ComputeWeights();
};
} // namespace lupnt