testcases for rint double rounding issue
[libc-test] / src / math / special / rint.h
index 0966cd7..d6a917e 100644 (file)
@@ -3,6 +3,8 @@ T(RN,                     inf,                     inf,          0x0p+0, 0)
 T(RN,                    -inf,                    -inf,          0x0p+0, 0)
 T(RN,                  0x0p+0,                  0x0p+0,          0x0p+0, 0)
 T(RN,                 -0x0p+0,                 -0x0p+0,          0x0p+0, 0)
+T(RN,                  0x1p+0,                  0x1p+0,          0x0p+0, 0)
+T(RN,                 -0x1p+0,                 -0x1p+0,          0x0p+0, 0)
 T(RN,                  0x1p-1,                  0x0p+0,          0x0p+0, INEXACT)
 T(RN,                 -0x1p-1,                 -0x0p+0,          0x0p+0, INEXACT)
 T(RN,             0x1.0001p+0,                  0x1p+0,          0x0p+0, INEXACT)
@@ -11,3 +13,35 @@ T(RN,             0x1.ffffp-1,                  0x1p+0,          0x0p+0, INEXACT
 T(RN,            -0x1.ffffp-1,                 -0x1p+0,          0x0p+0, INEXACT)
 T(RN,                0x1p-100,                  0x0p+0,          0x0p+0, INEXACT)
 T(RN,               -0x1p-100,                 -0x0p+0,          0x0p+0, INEXACT)
+T(RD,                     nan,                     nan,          0x0p+0, 0)
+T(RD,                     inf,                     inf,          0x0p+0, 0)
+T(RD,                    -inf,                    -inf,          0x0p+0, 0)
+T(RD,                  0x0p+0,                  0x0p+0,          0x0p+0, 0)
+T(RD,                 -0x0p+0,                 -0x0p+0,          0x0p+0, 0)
+T(RD,                  0x1p+0,                  0x1p+0,          0x0p+0, 0)
+T(RD,                 -0x1p+0,                 -0x1p+0,          0x0p+0, 0)
+T(RD,                  0x1p-1,                  0x0p+0,          0x0p+0, INEXACT)
+T(RD,                 -0x1p-1,                 -0x1p+0,          0x0p+0, INEXACT)
+T(RD,             0x1.0001p+0,                  0x1p+0,          0x0p+0, INEXACT)
+T(RD,            -0x1.0001p+0,                 -0x1p+1,          0x0p+0, INEXACT)
+T(RD,             0x1.ffffp-1,                  0x0p+0,          0x0p+0, INEXACT)
+T(RD,            -0x1.ffffp-1,                 -0x1p+0,          0x0p+0, INEXACT)
+T(RD,                0x1p-100,                  0x0p+0,          0x0p+0, INEXACT)
+T(RD,               -0x1p-100,                 -0x1p+0,          0x0p+0, INEXACT)
+T(RU,                     nan,                     nan,          0x0p+0, 0)
+T(RU,                     inf,                     inf,          0x0p+0, 0)
+T(RU,                    -inf,                    -inf,          0x0p+0, 0)
+T(RU,                  0x0p+0,                  0x0p+0,          0x0p+0, 0)
+T(RU,                 -0x0p+0,                 -0x0p+0,          0x0p+0, 0)
+T(RU,                  0x1p+0,                  0x1p+0,          0x0p+0, 0)
+T(RU,                 -0x1p+0,                 -0x1p+0,          0x0p+0, 0)
+T(RU,                  0x1p-1,                  0x1p+0,          0x0p+0, INEXACT)
+T(RU,                 -0x1p-1,                 -0x0p+0,          0x0p+0, INEXACT)
+T(RU,             0x1.0001p+0,                  0x1p+1,          0x0p+0, INEXACT)
+T(RU,            -0x1.0001p+0,                 -0x1p+0,          0x0p+0, INEXACT)
+T(RU,             0x1.ffffp-1,                  0x1p+0,          0x0p+0, INEXACT)
+T(RU,            -0x1.ffffp-1,                 -0x0p+0,          0x0p+0, INEXACT)
+T(RU,                0x1p-100,                  0x1p+0,          0x0p+0, INEXACT)
+T(RU,               -0x1p-100,                 -0x0p+0,          0x0p+0, INEXACT)
+T(RN,    0x1.0800000000001p+4,                0x1.1p+4,          0x0p+0, INEXACT)
+T(RN,    0x1.17fffffffffffp+4,                0x1.1p+4,          0x0p+0, INEXACT)