summaryrefslogtreecommitdiff
path: root/numpy/core/function_base.py
diff options
context:
space:
mode:
authorPauli Virtanen <pav@iki.fi>2015-11-12 20:15:37 +0200
committerPauli Virtanen <pav@iki.fi>2015-11-12 20:19:47 +0200
commit8efc87ec599c0b3eac4e63bea6eda9023d8ed96d (patch)
treeb9f51647e66537760e63c5e662155eba9b6cde3e /numpy/core/function_base.py
parent4be9ce7bea3321af3c9896da98c751f03459fa38 (diff)
downloadnumpy-8efc87ec599c0b3eac4e63bea6eda9023d8ed96d.tar.gz
ENH: reimplement may_share_memory in C to improve its performance
Diffstat (limited to 'numpy/core/function_base.py')
-rw-r--r--numpy/core/function_base.py45
1 files changed, 1 insertions, 44 deletions
diff --git a/numpy/core/function_base.py b/numpy/core/function_base.py
index 05fea557a..c82c9bb6b 100644
--- a/numpy/core/function_base.py
+++ b/numpy/core/function_base.py
@@ -1,6 +1,6 @@
from __future__ import division, absolute_import, print_function
-__all__ = ['logspace', 'linspace', 'may_share_memory']
+__all__ = ['logspace', 'linspace']
from . import numeric as _nx
from .numeric import result_type, NaN, shares_memory, MAY_SHARE_BOUNDS, TooHardError
@@ -201,46 +201,3 @@ def logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None):
if dtype is None:
return _nx.power(base, y)
return _nx.power(base, y).astype(dtype)
-
-
-def may_share_memory(a, b, max_work=None):
- """Determine if two arrays can share memory
-
- A return of True does not necessarily mean that the two arrays
- share any element. It just means that they *might*.
-
- Only the memory bounds of a and b are checked by default.
-
- Parameters
- ----------
- a, b : ndarray
- Input arrays
- max_work : int, optional
- Effort to spend on solving the overlap problem. See
- `shares_memory` for details. Default for ``may_share_memory``
- is to do a bounds check.
-
- Returns
- -------
- out : bool
-
- See Also
- --------
- shares_memory
-
- Examples
- --------
- >>> np.may_share_memory(np.array([1,2]), np.array([5,8,9]))
- False
- >>> x = np.zeros([3, 4])
- >>> np.may_share_memory(x[:,0], x[:,1])
- True
-
- """
- if max_work is None:
- max_work = MAY_SHARE_BOUNDS
- try:
- return shares_memory(a, b, max_work=max_work)
- except (TooHardError, OverflowError):
- # Unable to determine, assume yes
- return True