diff options
author | Julian Taylor <jtaylor.debian@googlemail.com> | 2013-05-26 17:03:51 +0200 |
---|---|---|
committer | Julian Taylor <jtaylor.debian@googlemail.com> | 2013-05-28 20:27:34 +0200 |
commit | fae8369fba4a683783280b044915b11bbca07a44 (patch) | |
tree | 0551c9f7fecb1f6ecaab6937a3c9d79f5ffcc20b /numpy/lib/utils.py | |
parent | 91ba6d616b528a60e6bdcc4c922b29f8173406aa (diff) | |
download | numpy-fae8369fba4a683783280b044915b11bbca07a44.tar.gz |
ENH: implement may_share_memory in C
memmap needs to call it in __array_finalize__ to determine if it can
drop the references on copies.
The python version if may_share_memory caused significant slowdowns when
slicing these maps.
closes gh-3364
Diffstat (limited to 'numpy/lib/utils.py')
-rw-r--r-- | numpy/lib/utils.py | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/numpy/lib/utils.py b/numpy/lib/utils.py index f94abeeab..0e4300585 100644 --- a/numpy/lib/utils.py +++ b/numpy/lib/utils.py @@ -11,7 +11,7 @@ from numpy.core import product, ndarray, ufunc __all__ = ['issubclass_', 'issubsctype', 'issubdtype', 'deprecate', 'deprecate_with_doc', 'get_numarray_include', 'get_include', 'info', 'source', 'who', 'lookfor', 'byte_bounds', - 'may_share_memory', 'safe_eval'] + 'safe_eval'] def get_include(): """ @@ -266,36 +266,6 @@ def byte_bounds(a): return a_low, a_high -def may_share_memory(a, b): - """ - Determine if two arrays can share memory - - The memory-bounds of a and b are computed. If they overlap then - this function returns True. Otherwise, it returns False. - - A return of True does not necessarily mean that the two arrays - share any element. It just means that they *might*. - - Parameters - ---------- - a, b : ndarray - - Returns - ------- - out : bool - - Examples - -------- - >>> np.may_share_memory(np.array([1,2]), np.array([5,8,9])) - False - - """ - a_low, a_high = byte_bounds(a) - b_low, b_high = byte_bounds(b) - if b_low >= a_high or a_low >= b_high: - return False - return True - #----------------------------------------------------------------------------- # Function for output and information on the variables used. #----------------------------------------------------------------------------- |