ENH: Allow `Splinterpolator` instances to be created from an existing set of spline coefficients, and extend extrapolation options
Compare changes
+ 80
− 51
@@ -22,7 +22,14 @@
@@ -22,7 +22,14 @@
@@ -657,27 +664,35 @@ double Splinterpolator<T>::value_at(const double *coord) const
@@ -657,27 +664,35 @@ double Splinterpolator<T>::value_at(const double *coord) const
@@ -696,9 +711,9 @@ double Splinterpolator<T>::value_at(const double *coord) const
@@ -696,9 +711,9 @@ double Splinterpolator<T>::value_at(const double *coord) const
@@ -708,38 +723,47 @@ const
@@ -708,38 +723,47 @@ const
for (unsigned int d=0; d<nd; d++) dwgt2[d] = (dd[d]==1) ? dwgt1[d]*dwgts[1][j] : dwgt1[d]*wgts[1][j];
@@ -812,18 +836,10 @@ unsigned int Splinterpolator<T>::get_start_indicies(const double *coord, int *si
@@ -812,18 +836,10 @@ unsigned int Splinterpolator<T>::get_start_indicies(const double *coord, int *si
@@ -1203,7 +1219,7 @@ inline unsigned int Splinterpolator<T>::indx2indx(int indx, unsigned int d) cons
@@ -1203,7 +1219,7 @@ inline unsigned int Splinterpolator<T>::indx2indx(int indx, unsigned int d) cons
@@ -1326,36 +1342,38 @@ T Splinterpolator<T>::coef(int *indx) const
@@ -1326,36 +1342,38 @@ T Splinterpolator<T>::coef(int *indx) const
@@ -1506,7 +1524,7 @@ void Splinterpolator<T>::deconv_along(unsigned int dim)
@@ -1506,7 +1524,7 @@ void Splinterpolator<T>::deconv_along(unsigned int dim)
@@ -1646,11 +1664,17 @@ double Splinterpolator<T>::SplineColumn::init_fwd_sweep(double z, ExtrapolationT
@@ -1646,11 +1664,17 @@ double Splinterpolator<T>::SplineColumn::init_fwd_sweep(double z, ExtrapolationT
@@ -1677,9 +1701,14 @@ double Splinterpolator<T>::SplineColumn::init_bwd_sweep(double z, double lv, Ext
@@ -1677,9 +1701,14 @@ double Splinterpolator<T>::SplineColumn::init_bwd_sweep(double z, double lv, Ext