math: add more fmaf tests
authorSzabolcs Nagy <nsz@port70.net>
Tue, 6 Jul 2021 18:59:29 +0000 (18:59 +0000)
committerSzabolcs Nagy <nsz@port70.net>
Tue, 6 Jul 2021 18:59:29 +0000 (18:59 +0000)
src/math/special/fmaf.h

index e034279..ef9957a 100644 (file)
@@ -53,3 +53,16 @@ T(RN, -0x1.26524ep-54, -0x1.cb7868p+11,  0x1.d10f5ep-29,  0x1.d1179ep-29,
 T(RU, -0x1.26524ep-54, -0x1.cb7868p+11,  0x1.d10f5ep-29,   0x1.d117ap-29,          0x1p-1, INEXACT)
 T(RD, -0x1.26524ep-54, -0x1.cb7868p+11,  0x1.d10f5ep-29,  0x1.d1179ep-29,         -0x1p-1, INEXACT)
 T(RZ, -0x1.26524ep-54, -0x1.cb7868p+11,  0x1.d10f5ep-29,  0x1.d1179ep-29,         -0x1p-1, INEXACT)
+// double precision x*y+z is a half-way float
+T(RN,   0x1.000002p+0,   0x1.fffffep+0,  0x1.fffffep-47,          0x1p+1,         -0x1p-1, INEXACT)
+T(RN,   0x1.000002p+0,   0x1.fffffep+0,         0x1p-46,          0x1p+1,         -0x1p-1, INEXACT)
+T(RN,   0x1.000002p+0,   0x1.fffffep+0,  0x1.000002p-46,   0x1.000002p+1,          0x1p-1, INEXACT)
+T(RN,   0x1.000002p+0,  -0x1.fffffep+0, -0x1.fffffep-47,         -0x1p+1,          0x1p-1, INEXACT)
+T(RN,   0x1.000002p+0,  -0x1.fffffep+0,        -0x1p-46,         -0x1p+1,          0x1p-1, INEXACT)
+T(RN,   0x1.000002p+0,  -0x1.fffffep+0, -0x1.000002p-46,  -0x1.000002p+1,         -0x1p-1, INEXACT)
+T(RN,   0x1.000004p+0,   0x1.fffffep+0,  0x1.fffffep-46,   0x1.000002p+1,         -0x1p-1, INEXACT)
+T(RN,   0x1.000004p+0,   0x1.fffffep+0,         0x1p-45,   0x1.000004p+1,          0x1p-1, INEXACT)
+T(RN,   0x1.000004p+0,   0x1.fffffep+0,  0x1.000002p-45,   0x1.000004p+1,          0x1p-1, INEXACT)
+T(RN,   0x1.000004p+0,  -0x1.fffffep+0, -0x1.fffffep-46,  -0x1.000002p+1,          0x1p-1, INEXACT)
+T(RN,   0x1.000004p+0,  -0x1.fffffep+0,        -0x1p-45,  -0x1.000004p+1,         -0x1p-1, INEXACT)
+T(RN,   0x1.000004p+0,  -0x1.fffffep+0, -0x1.000002p-45,  -0x1.000004p+1,         -0x1p-1, INEXACT)