summaryrefslogtreecommitdiff
path: root/numpy/testing/tests/test_utils.py
diff options
context:
space:
mode:
authorAaron Critchley <aaron.critchley@gmail.com>2018-03-10 01:12:42 +0100
committerAaron Critchley <aaron.critchley@gmail.com>2018-03-10 01:12:42 +0100
commitfd60d2c8c4df02d1038105fb2b215744775daa74 (patch)
treeeb294895184a38bda89f7264bc9a607f6d68372d /numpy/testing/tests/test_utils.py
parentc486d8d0d496f6b366dc827a3d41ed1e9d593ec8 (diff)
downloadnumpy-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.py28
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)