diff options
| author | Allan Haldane <ealloc@gmail.com> | 2018-10-25 14:04:31 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-25 14:04:31 -0400 |
| commit | 872372bd56ccb5fe98faae8be7d14e4a8c69e037 (patch) | |
| tree | 9cf7e8a349b5f5c792d2cb63fb6fb627de6860a6 /numpy/lib | |
| parent | 8aa121415760cc6839a546c3f84e238d1dfa1aa6 (diff) | |
| parent | 9660f011e126e60e76ce8925686f59c8a4d1d00a (diff) | |
| download | numpy-872372bd56ccb5fe98faae8be7d14e4a8c69e037.tar.gz | |
Merge pull request #12251 from shoyer/array-function-error-msg
MAINT: improved error message when no __array_function__ implementation found
Diffstat (limited to 'numpy/lib')
| -rw-r--r-- | numpy/lib/arraypad.py | 2 | ||||
| -rw-r--r-- | numpy/lib/arraysetops.py | 8 | ||||
| -rw-r--r-- | numpy/lib/financial.py | 7 | ||||
| -rw-r--r-- | numpy/lib/function_base.py | 8 | ||||
| -rw-r--r-- | numpy/lib/index_tricks.py | 7 | ||||
| -rw-r--r-- | numpy/lib/nanfunctions.py | 7 | ||||
| -rw-r--r-- | numpy/lib/polynomial.py | 7 | ||||
| -rw-r--r-- | numpy/lib/shape_base.py | 7 | ||||
| -rw-r--r-- | numpy/lib/stride_tricks.py | 4 | ||||
| -rw-r--r-- | numpy/lib/twodim_base.py | 8 | ||||
| -rw-r--r-- | numpy/lib/type_check.py | 9 | ||||
| -rw-r--r-- | numpy/lib/ufunclike.py | 6 |
12 files changed, 65 insertions, 15 deletions
diff --git a/numpy/lib/arraypad.py b/numpy/lib/arraypad.py index f76ad456f..d27a3918f 100644 --- a/numpy/lib/arraypad.py +++ b/numpy/lib/arraypad.py @@ -995,7 +995,7 @@ def _pad_dispatcher(array, pad_width, mode, **kwargs): return (array,) -@array_function_dispatch(_pad_dispatcher) +@array_function_dispatch(_pad_dispatcher, module='numpy') def pad(array, pad_width, mode, **kwargs): """ Pads an array. diff --git a/numpy/lib/arraysetops.py b/numpy/lib/arraysetops.py index ec62cd7a6..850e20123 100644 --- a/numpy/lib/arraysetops.py +++ b/numpy/lib/arraysetops.py @@ -27,8 +27,14 @@ To do: Optionally return indices analogously to unique for all functions. """ from __future__ import division, absolute_import, print_function +import functools + import numpy as np -from numpy.core.overrides import array_function_dispatch +from numpy.core import overrides + + +array_function_dispatch = functools.partial( + overrides.array_function_dispatch, module='numpy') __all__ = [ diff --git a/numpy/lib/financial.py b/numpy/lib/financial.py index d1a0cd9c0..e1e297492 100644 --- a/numpy/lib/financial.py +++ b/numpy/lib/financial.py @@ -13,9 +13,14 @@ otherwise stated. from __future__ import division, absolute_import, print_function from decimal import Decimal +import functools import numpy as np -from numpy.core.overrides import array_function_dispatch +from numpy.core import overrides + + +array_function_dispatch = functools.partial( + overrides.array_function_dispatch, module='numpy') __all__ = ['fv', 'pmt', 'nper', 'ipmt', 'ppmt', 'pv', 'rate', diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py index c52ecdbd8..fae6541bc 100644 --- a/numpy/lib/function_base.py +++ b/numpy/lib/function_base.py @@ -6,6 +6,7 @@ try: import collections.abc as collections_abc except ImportError: import collections as collections_abc +import functools import re import sys import warnings @@ -26,7 +27,7 @@ from numpy.core.fromnumeric import ( ravel, nonzero, partition, mean, any, sum ) from numpy.core.numerictypes import typecodes -from numpy.core.overrides import array_function_dispatch +from numpy.core import overrides from numpy.core.function_base import add_newdoc from numpy.lib.twodim_base import diag from .utils import deprecate @@ -44,6 +45,11 @@ if sys.version_info[0] < 3: else: import builtins + +array_function_dispatch = functools.partial( + overrides.array_function_dispatch, module='numpy') + + # needed in this module for compatibility from numpy.lib.histograms import histogram, histogramdd diff --git a/numpy/lib/index_tricks.py b/numpy/lib/index_tricks.py index 26243d231..0cdf78c6d 100644 --- a/numpy/lib/index_tricks.py +++ b/numpy/lib/index_tricks.py @@ -1,5 +1,6 @@ from __future__ import division, absolute_import, print_function +import functools import sys import math @@ -13,10 +14,14 @@ from . import function_base import numpy.matrixlib as matrixlib from .function_base import diff from numpy.core.multiarray import ravel_multi_index, unravel_index -from numpy.core.overrides import array_function_dispatch +from numpy.core import overrides from numpy.lib.stride_tricks import as_strided +array_function_dispatch = functools.partial( + overrides.array_function_dispatch, module='numpy') + + __all__ = [ 'ravel_multi_index', 'unravel_index', 'mgrid', 'ogrid', 'r_', 'c_', 's_', 'index_exp', 'ix_', 'ndenumerate', 'ndindex', 'fill_diagonal', diff --git a/numpy/lib/nanfunctions.py b/numpy/lib/nanfunctions.py index 279c4c5c4..d73d84467 100644 --- a/numpy/lib/nanfunctions.py +++ b/numpy/lib/nanfunctions.py @@ -22,10 +22,15 @@ Functions """ from __future__ import division, absolute_import, print_function +import functools import warnings import numpy as np from numpy.lib import function_base -from numpy.core.overrides import array_function_dispatch +from numpy.core import overrides + + +array_function_dispatch = functools.partial( + overrides.array_function_dispatch, module='numpy') __all__ = [ diff --git a/numpy/lib/polynomial.py b/numpy/lib/polynomial.py index 09079db9d..c2702f0a7 100644 --- a/numpy/lib/polynomial.py +++ b/numpy/lib/polynomial.py @@ -8,19 +8,24 @@ __all__ = ['poly', 'roots', 'polyint', 'polyder', 'polyadd', 'polysub', 'polymul', 'polydiv', 'polyval', 'poly1d', 'polyfit', 'RankWarning'] +import functools import re import warnings import numpy.core.numeric as NX from numpy.core import (isscalar, abs, finfo, atleast_1d, hstack, dot, array, ones) -from numpy.core.overrides import array_function_dispatch +from numpy.core import overrides from numpy.lib.twodim_base import diag, vander from numpy.lib.function_base import trim_zeros from numpy.lib.type_check import iscomplex, real, imag, mintypecode from numpy.linalg import eigvals, lstsq, inv +array_function_dispatch = functools.partial( + overrides.array_function_dispatch, module='numpy') + + class RankWarning(UserWarning): """ Issued by `polyfit` when the Vandermonde matrix is rank deficient. diff --git a/numpy/lib/shape_base.py b/numpy/lib/shape_base.py index e8d43958a..00424d55d 100644 --- a/numpy/lib/shape_base.py +++ b/numpy/lib/shape_base.py @@ -1,5 +1,6 @@ from __future__ import division, absolute_import, print_function +import functools import warnings import numpy.core.numeric as _nx @@ -8,7 +9,7 @@ from numpy.core.numeric import ( ) from numpy.core.fromnumeric import product, reshape, transpose from numpy.core.multiarray import normalize_axis_index -from numpy.core.overrides import array_function_dispatch +from numpy.core import overrides from numpy.core import vstack, atleast_3d from numpy.lib.index_tricks import ndindex from numpy.matrixlib.defmatrix import matrix # this raises all the right alarm bells @@ -22,6 +23,10 @@ __all__ = [ ] +array_function_dispatch = functools.partial( + overrides.array_function_dispatch, module='numpy') + + def _make_along_axis_idx(arr_shape, indices, axis): # compute dimensions to iterate over if not _nx.issubdtype(indices.dtype, _nx.integer): diff --git a/numpy/lib/stride_tricks.py b/numpy/lib/stride_tricks.py index 3115c5e37..0dc36e41c 100644 --- a/numpy/lib/stride_tricks.py +++ b/numpy/lib/stride_tricks.py @@ -140,7 +140,7 @@ def _broadcast_to_dispatcher(array, shape, subok=None): return (array,) -@array_function_dispatch(_broadcast_to_dispatcher) +@array_function_dispatch(_broadcast_to_dispatcher, module='numpy') def broadcast_to(array, shape, subok=False): """Broadcast an array to a new shape. @@ -205,7 +205,7 @@ def _broadcast_arrays_dispatcher(*args, **kwargs): return args -@array_function_dispatch(_broadcast_arrays_dispatcher) +@array_function_dispatch(_broadcast_arrays_dispatcher, module='numpy') def broadcast_arrays(*args, **kwargs): """ Broadcast any number of arrays against each other. diff --git a/numpy/lib/twodim_base.py b/numpy/lib/twodim_base.py index aff6cddde..a05e68375 100644 --- a/numpy/lib/twodim_base.py +++ b/numpy/lib/twodim_base.py @@ -3,12 +3,14 @@ """ from __future__ import division, absolute_import, print_function +import functools + from numpy.core.numeric import ( absolute, asanyarray, arange, zeros, greater_equal, multiply, ones, asarray, where, int8, int16, int32, int64, empty, promote_types, diagonal, nonzero ) -from numpy.core.overrides import array_function_dispatch +from numpy.core import overrides from numpy.core import iinfo, transpose @@ -18,6 +20,10 @@ __all__ = [ 'tril_indices_from', 'triu_indices', 'triu_indices_from', ] +array_function_dispatch = functools.partial( + overrides.array_function_dispatch, module='numpy') + + i1 = iinfo(int8) i2 = iinfo(int16) i4 = iinfo(int32) diff --git a/numpy/lib/type_check.py b/numpy/lib/type_check.py index 5f74d3ca2..9153e1692 100644 --- a/numpy/lib/type_check.py +++ b/numpy/lib/type_check.py @@ -2,6 +2,7 @@ """ from __future__ import division, absolute_import, print_function +import functools import warnings __all__ = ['iscomplexobj', 'isrealobj', 'imag', 'iscomplex', @@ -11,11 +12,17 @@ __all__ = ['iscomplexobj', 'isrealobj', 'imag', 'iscomplex', import numpy.core.numeric as _nx from numpy.core.numeric import asarray, asanyarray, array, isnan, zeros -from numpy.core.overrides import array_function_dispatch +from numpy.core import overrides from .ufunclike import isneginf, isposinf + +array_function_dispatch = functools.partial( + overrides.array_function_dispatch, module='numpy') + + _typecodes_by_elsize = 'GDFgdfQqLlIiHhBb?' + def mintypecode(typechars,typeset='GDFgdf',default='d'): """ Return the character for the minimum-size type to which given types can diff --git a/numpy/lib/ufunclike.py b/numpy/lib/ufunclike.py index 1c6f0417a..ac0af0b37 100644 --- a/numpy/lib/ufunclike.py +++ b/numpy/lib/ufunclike.py @@ -60,7 +60,7 @@ def _dispatcher(x, out=None): return (x, out) -@array_function_dispatch(_dispatcher, verify=False) +@array_function_dispatch(_dispatcher, verify=False, module='numpy') @_fix_out_named_y def fix(x, out=None): """ @@ -107,7 +107,7 @@ def fix(x, out=None): return res -@array_function_dispatch(_dispatcher, verify=False) +@array_function_dispatch(_dispatcher, verify=False, module='numpy') @_fix_out_named_y def isposinf(x, out=None): """ @@ -176,7 +176,7 @@ def isposinf(x, out=None): return nx.logical_and(is_inf, signbit, out) -@array_function_dispatch(_dispatcher, verify=False) +@array_function_dispatch(_dispatcher, verify=False, module='numpy') @_fix_out_named_y def isneginf(x, out=None): """ |
