summaryrefslogtreecommitdiff
path: root/numpy/lib/function_base.py
diff options
context:
space:
mode:
authorTravis Oliphant <oliphant@enthought.com>2006-12-14 09:54:03 +0000
committerTravis Oliphant <oliphant@enthought.com>2006-12-14 09:54:03 +0000
commit32789fd7d5fdce563c37363a3dd1192aafdc0a9e (patch)
tree75bd7b06bbfc2adf06b432c1895b8330c029ad0f /numpy/lib/function_base.py
parent8bd6fb7ef7c81a97d3e86dc22badcf95af199860 (diff)
downloadnumpy-32789fd7d5fdce563c37363a3dd1192aafdc0a9e.tar.gz
Fix typo in oldnumeric and add Rick White's improvement to histogram for large arrays.
Diffstat (limited to 'numpy/lib/function_base.py')
-rw-r--r--numpy/lib/function_base.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py
index 8681bc9b9..6e44bc205 100644
--- a/numpy/lib/function_base.py
+++ b/numpy/lib/function_base.py
@@ -93,7 +93,11 @@ def histogram(a, bins=10, range=None, normed=False):
mx += 0.5
bins = linspace(mn, mx, bins, endpoint=False)
- n = sort(a).searchsorted(bins)
+ # best block size probably depends on processor cache size
+ block = 65536
+ n = sort(a[:block]).searchsorted(bins)
+ for i in xrange(block, a.size, block):
+ n += sort(a[i:i+block]).searchsorted(bins)
n = concatenate([n, [len(a)]])
n = n[1:]-n[:-1]