Skip to content
Snippets Groups Projects

ENH: Allow `Splinterpolator` instances to be created from an existing set of spline coefficients, and extend extrapolation options

Merged Paul McCarthy requested to merge enh/splinterpolator into master
1 file
+ 4
18
Compare changes
  • Side-by-side
  • Inline
+ 4
18
@@ -1350,16 +1350,8 @@ T Splinterpolator<T>::coef(int *indx) const
case SoftZeros:
case Zeros:
return(static_cast<T>(0));
case Constant:
indx[i] = 0;
break;
case Mirror:
indx[i] = 1-indx[i];
break;
case Periodic:
indx[i] = _dim[i]+indx[i];
break;
default:
indx[i] = indx2indx(indx[i], i);
break;
}
}
@@ -1368,23 +1360,17 @@ T Splinterpolator<T>::coef(int *indx) const
case SoftZeros:
case Zeros:
return(static_cast<T>(0));
case Constant:
indx[i] = _dim[i]-1;
break;
case Mirror:
indx[i] = 2*_dim[i]-indx[i]-1;
break;
case Periodic:
indx[i] = indx[i]-_dim[i];
break;
default:
indx[i] = indx2indx(indx[i], i);
break;
}
}
}
// Now make linear index
unsigned int lindx=indx[_ndim-1];
for (int i=_ndim-2; i>=0; i--) lindx = _dim[i]*lindx + indx[i];
return(coef_ptr()[lindx]);
}
Loading