Planned maintenance on Wednesday, 2021-01-20, 17:00-18:00. Expect some interruptions during that time

Commit 3459b151 by Martin Glatzle

### Make interpolation work with len 1 arrays.

parent 745f1f71
 ... ... @@ -122,20 +122,22 @@ class Crefin(object): if bounds_error and not a_bounds_error: def f(aa, lam): r = _np.clip(aa, _np.amin(a), _np.amax(a)) rowind_unsorted = _np.argsort(r) colind_unsorted = _np.argsort(lam) return ( rinterpolation(lam, r) + 1j*iinterpolation(lam, r))[ rowind_unsorted][:, colind_unsorted] n = rinterpolation(lam, r) + 1j*iinterpolation(lam, r) if _np.prod(r.shape)*_np.prod(lam.shape) > 1: rowind_unsorted = _np.argsort(r) colind_unsorted = _np.argsort(lam) return n[rowind_unsorted][:, colind_unsorted] else: return _np.atleast_2d(n) else: def f(a, lam): rowind_unsorted = _np.argsort(lam) colind_unsorted = _np.argsort(r) return ( rinterpolation(lam, a) + 1j*iinterpolation(lam, a))[ rowind_unsorted][:, colind_unsorted] n = rinterpolation(lam, a) + 1j*iinterpolation(lam, a) if _np.prod(r.shape)*_np.prod(lam.shape) > 1: rowind_unsorted = _np.argsort(lam) colind_unsorted = _np.argsort(r) return n[rowind_unsorted][:, colind_unsorted] else: return _np.atleast_2d(n) return cls(f) ... ...
 ... ... @@ -52,6 +52,21 @@ class TestFromData(TestCase): a = crefin.Crefin.fromData(c.a2, c.lam2, c.n2) return def test_single_element(self): c = self.__class__ a = crefin.Crefin.fromData(c.a2, c.lam2, c.n2) n = a( np.array([1e-9])*u.micron, np.array([8])*u.micron ) self.assertTrue return def test_single_element_no_bounds(self): c = self.__class__ a = crefin.Crefin.fromData(c.a2, c.lam2, c.n2) return def test_normal_no_bounds(self): c = self.__class__ a = crefin.Crefin.fromData(c.a2, c.lam2, c.n2, ... ...
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!