| 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 |
| |