Skip to content
Snippets Groups Projects
Commit 7aca4d08 authored by Paul McCarthy's avatar Paul McCarthy :mountain_bicyclist:
Browse files

ENH: Adjust logic so that Splinterpolator can be created with pre-calculated coefficeints

parent 21e96427
No related branches found
No related tags found
No related merge requests found
This commit is part of merge request !17. Comments created here will be created in the context of that merge request.
...@@ -1431,16 +1431,19 @@ void Splinterpolator<T>::assign(const Splinterpolator<T>& src) ...@@ -1431,16 +1431,19 @@ void Splinterpolator<T>::assign(const Splinterpolator<T>& src)
template<class T> template<class T>
bool Splinterpolator<T>::calc_coef(const T *data_or_coefs, bool copy, bool data_are_coefs) bool Splinterpolator<T>::calc_coef(const T *data_or_coefs, bool copy, bool data_are_coefs)
{ {
if (_order < 2 && !copy) { _cptr = data_or_coefs; return(false); } // No copy, and nearest/interp, or pre-calculated
// coefficients - just take a pointer to the data
if (_order < 2 && !copy) { _cptr = data_or_coefs; return(false); }
if (data_are_coefs && !copy) { _cptr = data_or_coefs; return(false); }
// Allocate memory and put the original data into _coef // Allocate memory and put the original data into _coef
//
unsigned int ts=1; unsigned int ts=1;
for (unsigned int i=0; i<_dim.size(); i++) ts *= _dim[i]; for (unsigned int i=0; i<_dim.size(); i++) ts *= _dim[i];
_coef = new T[ts]; _coef = new T[ts];
memcpy(_coef,data_or_coefs,ts*sizeof(T)); memcpy(_coef,data_or_coefs,ts*sizeof(T));
if (_order < 2) return(true); // If nearest neighbour or linear, that's all we need if (_order < 2) return(true); // If nearest neighbour or linear, that's all we need
if (data_are_coefs) return(true); // User has given us pre-calculated coefficients
// Loop over all non-singleton dimensions and deconvolve along them // Loop over all non-singleton dimensions and deconvolve along them
// //
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment