diff options
author | Travis Oliphant <oliphant@enthought.com> | 2006-12-14 09:54:03 +0000 |
---|---|---|
committer | Travis Oliphant <oliphant@enthought.com> | 2006-12-14 09:54:03 +0000 |
commit | 32789fd7d5fdce563c37363a3dd1192aafdc0a9e (patch) | |
tree | 75bd7b06bbfc2adf06b432c1895b8330c029ad0f /numpy/lib/function_base.py | |
parent | 8bd6fb7ef7c81a97d3e86dc22badcf95af199860 (diff) | |
download | numpy-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.py | 6 |
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] |