summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--numpy/lib/function_base.py6
-rw-r--r--numpy/lib/tests/test_function_base.py5
-rw-r--r--numpy/lib/tests/test_twodim_base.py5
3 files changed, 11 insertions, 5 deletions
diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py
index d20304a1b..8a0c0b37d 100644
--- a/numpy/lib/function_base.py
+++ b/numpy/lib/function_base.py
@@ -335,11 +335,11 @@ def histogramdd(sample, bins=10, range=None, normed=False, weights=None):
Found bin edge of size <= 0. Did you specify `bins` with
non-monotonic sequence?""")
+ nbin = asarray(nbin)
+
# Handle empty input.
if N == 0:
- return np.zeros(D), edges
-
- nbin = asarray(nbin)
+ return np.zeros(nbin-2), edges
# Compute the bin number each sample falls into.
Ncount = {}
diff --git a/numpy/lib/tests/test_function_base.py b/numpy/lib/tests/test_function_base.py
index 9df1a916f..105389d6d 100644
--- a/numpy/lib/tests/test_function_base.py
+++ b/numpy/lib/tests/test_function_base.py
@@ -749,7 +749,10 @@ class TestHistogramdd(TestCase):
def test_empty(self):
a, b = histogramdd([[], []], bins=([0,1], [0,1]))
- assert_array_max_ulp(a, array([ 0., 0.]))
+ assert_array_max_ulp(a, array([[ 0.]]))
+ a, b = np.histogramdd([[], [], []], bins=2)
+ assert_array_max_ulp(a, np.zeros((2, 2, 2)))
+
def test_bins_errors(self):
"""There are two ways to specify bins. Check for the right errors when
diff --git a/numpy/lib/tests/test_twodim_base.py b/numpy/lib/tests/test_twodim_base.py
index a7c0e85c8..37165f672 100644
--- a/numpy/lib/tests/test_twodim_base.py
+++ b/numpy/lib/tests/test_twodim_base.py
@@ -224,7 +224,10 @@ class TestHistogram2d(TestCase):
def test_empty(self):
a, edge1, edge2 = histogram2d([],[], bins=([0,1],[0,1]))
- assert_array_max_ulp(a, array([ 0., 0.]))
+ assert_array_max_ulp(a, array([[ 0.]]))
+
+ a, edge1, edge2 = histogram2d([], [], bins=4)
+ assert_array_max_ulp(a, np.zeros((4, 4)))
class TestTri(TestCase):