blob: 7d67b49071c63ff302dc43cd2be4cb3e871932b0 [file] [log] [blame]
From d01354e52d5c272522c09ffd733887500e4846d7 Mon Sep 17 00:00:00 2001
From: "Nathaniel J. Smith" <njs@pobox.com>
Date: Fri, 7 Sep 2012 10:49:45 +0100
Subject: [PATCH] FIX: loosen numerical tolerance in test_pareto()
The problem was that in 32bit Ubuntu 12.04, one gets the following:
>
/home/njs/numpy/.tox/py27/local/lib/python2.7/site-packages/numpy/random/tests/test_random.py(363)test_pareto()
-> np.testing.assert_array_almost_equal(actual, desired, decimal=15)
(Pdb) actual[1, 0]
52828779.702948704
(Pdb) desired[1, 0]
52828779.702948518
and the test was comparing the numbers to 1e-14, which obviously
failed.
Fixes #424.
---
numpy/random/tests/test_random.py | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/numpy/random/tests/test_random.py b/numpy/random/tests/test_random.py
index 7d9163e..ee40cce 100644
--- a/numpy/random/tests/test_random.py
+++ b/numpy/random/tests/test_random.py
@@ -310,7 +310,13 @@ def test_pareto(self):
desired = np.array([[ 2.46852460439034849e+03, 1.41286880810518346e+03],
[ 5.28287797029485181e+07, 6.57720981047328785e+07],
[ 1.40840323350391515e+02, 1.98390255135251704e+05]])
- np.testing.assert_array_almost_equal(actual, desired, decimal=14)
+ # For some reason on 32-bit x86 Ubuntu 12.10 the [1, 0] entry in this
+ # matrix differs by 24 nulps. Discussion:
+ # http://mail.scipy.org/pipermail/numpy-discussion/2012-September/063801.html
+ # Consensus is that this is probably some gcc quirk that affects
+ # rounding but not in any important way, so we just use a looser
+ # tolerance on this test:
+ np.testing.assert_array_almost_equal_nulp(actual, desired, nulp=30)
def test_poisson(self):
np.random.seed(self.seed)
--
1.7.10