diff options
-rw-r--r-- | interp.py | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -130,16 +130,19 @@ class Interp2D_C: except (AttributeError, IndexError): y = np.array([y]) - if x.shape != self._x.shape: - self._setup_arrays(x.shape) + x_interp = x.flatten() + y_interp = y.flatten() - np.copyto(self._x, x) - np.copyto(self._y, y) + if x_interp.shape != self._x.shape: + self._setup_arrays(x_interp.shape) + + np.copyto(self._x, x_interp) + np.copyto(self._y, y_interp) self._interp_func(self._src_start_c, self._src_step_c, self._src_val_c, self._src_stride_c, self._src_len_c, self._x.shape[0], self._x_c, self._y_c, self._ret_c) - return self._ret.copy() + return self._ret.copy().reshape(x.shape) def __call__(self, x, y): return self.interp(x, y) |