math: add special case test vectors
[libc-test] / src / math / special / llroundl.h
diff --git a/src/math/special/llroundl.h b/src/math/special/llroundl.h
new file mode 100644 (file)
index 0000000..aee3344
--- /dev/null
@@ -0,0 +1,18 @@
+T(RN,                        0x0p+0L,           0, 0)
+T(RN,                       -0x0p+0L,           0, 0)
+T(RN,                        0x1p-1L,           1, INEXACT)
+T(RN,                       -0x1p-1L,          -1, INEXACT)
+T(RN,                        0x1p+0L,           1, 0)
+T(RN,                       -0x1p+0L,          -1, 0)
+T(RN,                   0x1.0001p+0L,           1, INEXACT)
+T(RN,                  -0x1.0001p+0L,          -1, INEXACT)
+T(RN,                   0x1.ffffp-1L,           1, INEXACT)
+T(RN,                  -0x1.ffffp-1L,          -1, INEXACT)
+T(RN,                      0x1p-100L,           0, INEXACT)
+T(RN,                     -0x1p-100L,           0, INEXACT)
+// TODO: return value is unspecified
+T(RN,                     nan, -2147483648, INVALID)
+T(RN,                     inf, -2147483648, INVALID)
+T(RN,                    -inf, -2147483648, INVALID)
+T(RN,                0x1p+100, -2147483648, INVALID)
+T(RN,               -0x1p+100, -2147483648, INVALID)