diff options
author | Aaron Critchley <aaron.critchley@gmail.com> | 2018-03-10 01:12:42 +0100 |
---|---|---|
committer | Aaron Critchley <aaron.critchley@gmail.com> | 2018-03-10 01:12:42 +0100 |
commit | fd60d2c8c4df02d1038105fb2b215744775daa74 (patch) | |
tree | eb294895184a38bda89f7264bc9a607f6d68372d /numpy/testing/tests/test_utils.py | |
parent | c486d8d0d496f6b366dc827a3d41ed1e9d593ec8 (diff) | |
download | numpy-fd60d2c8c4df02d1038105fb2b215744775daa74.tar.gz |
TST: Fixing bug in assert near equality of float16 arrays (#10697)
Diffstat (limited to 'numpy/testing/tests/test_utils.py')
-rw-r--r-- | numpy/testing/tests/test_utils.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/numpy/testing/tests/test_utils.py b/numpy/testing/tests/test_utils.py index 77fb974cf..7727e552f 100644 --- a/numpy/testing/tests/test_utils.py +++ b/numpy/testing/tests/test_utils.py @@ -911,6 +911,34 @@ class TestArrayAlmostEqualNulp(unittest.TestCase): self.assertRaises(AssertionError, assert_array_almost_equal_nulp, x, y, nulp) + def test_float16_pass(self): + nulp = 5 + x = np.linspace(-20, 20, 50, dtype=np.float16) + x = np.r_[-x, x] + + eps = np.finfo(x.dtype).eps + y = x + x*eps*nulp/2. + assert_array_almost_equal_nulp(x, y, nulp) + + epsneg = np.finfo(x.dtype).epsneg + y = x - x*epsneg*nulp/2. + assert_array_almost_equal_nulp(x, y, nulp) + + def test_float16_fail(self): + nulp = 5 + x = np.linspace(-20, 20, 50, dtype=np.float16) + x = np.r_[-x, x] + + eps = np.finfo(x.dtype).eps + y = x + x*eps*nulp*2. + self.assertRaises(AssertionError, assert_array_almost_equal_nulp, + x, y, nulp) + + epsneg = np.finfo(x.dtype).epsneg + y = x - x*epsneg*nulp*2. + self.assertRaises(AssertionError, assert_array_almost_equal_nulp, + x, y, nulp) + def test_complex128_pass(self): nulp = 5 x = np.linspace(-20, 20, 50, dtype=np.float64) |