diff options
author | LeoMao <LMao20001@gmail.com> | 2014-03-12 11:28:22 +0800 |
---|---|---|
committer | LeoMao <LMao20001@gmail.com> | 2014-03-12 11:28:22 +0800 |
commit | 42d6a74e1715930a09fc9f5053fc381d4c9cce45 (patch) | |
tree | 4086b2bc90920f712b88cc7a6eeee88426152b99 /numpy/lib | |
parent | 3d419a1537446fab061d2774bdedf1e634a0ef31 (diff) | |
download | numpy-42d6a74e1715930a09fc9f5053fc381d4c9cce45.tar.gz |
remove assert in _get_ufunc_and_otypes, add a test in test_function_base.py
Diffstat (limited to 'numpy/lib')
-rw-r--r-- | numpy/lib/function_base.py | 6 | ||||
-rw-r--r-- | numpy/lib/tests/test_function_base.py | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py index 77d09cfa3..7b2d077c3 100644 --- a/numpy/lib/function_base.py +++ b/numpy/lib/function_base.py @@ -1593,6 +1593,7 @@ class vectorize(object): cache=False): self.pyfunc = pyfunc self.cache = cache + self._ufunc = None # Caching to improve default performance if doc is None: self.__doc__ = pyfunc.__doc__ @@ -1616,8 +1617,6 @@ class vectorize(object): excluded = set() self.excluded = set(excluded) - self._ufunc = None # Caching to improve default performance - def __call__(self, *args, **kwargs): """ Return arrays with the results of `pyfunc` broadcast (vectorized) over @@ -1651,7 +1650,8 @@ class vectorize(object): def _get_ufunc_and_otypes(self, func, args): """Return (ufunc, otypes).""" # frompyfunc will fail if args is empty - assert args + if not args: + raise ValueError('args can not be empty') if self.otypes: otypes = self.otypes diff --git a/numpy/lib/tests/test_function_base.py b/numpy/lib/tests/test_function_base.py index 3e102cf6a..6c11b0385 100644 --- a/numpy/lib/tests/test_function_base.py +++ b/numpy/lib/tests/test_function_base.py @@ -721,6 +721,12 @@ class TestVectorize(TestCase): assert_array_equal(f(x), x*x) assert_equal(_calls[0], len(x)) + def test_otypes(self): + f = np.vectorize(lambda x: x) + f.otypes = 'i' + x = np.arange(5) + assert_array_equal(f(x), x) + class TestDigitize(TestCase): def test_forward(self): |