math: add special case test vectors
[libc-test] / src / math / special / nexttowardf.h
diff --git a/src/math/special/nexttowardf.h b/src/math/special/nexttowardf.h
new file mode 100644 (file)
index 0000000..9f80551
--- /dev/null
@@ -0,0 +1,35 @@
+T(RN, 0x1.fffffep+127,                            inf,             inf,          0x0p+0, INEXACT|OVERFLOW)
+T(RN, 0x1.fffffep+127,                        0x0p+0L, 0x1.fffffcp+127,          0x0p+0, 0)
+T(RN,        0x1p-149,                           -inf,          0x0p+0,          0x0p+0, INEXACT|UNDERFLOW)
+T(RN,        0x1p-149,                            inf,        0x1p-148,          0x0p+0, INEXACT|UNDERFLOW)
+T(RN,        0x1p-149,      0x1.ffffffffffffffep-150L,          0x0p+0,          0x0p+0, INEXACT|UNDERFLOW)
+T(RN,        0x1p-149,      0x1.000000000000002p-149L,        0x1p-148,          0x0p+0, INEXACT|UNDERFLOW)
+T(RN, 0x1.fffff8p-127,                        0x1p+0L, 0x1.fffffcp-127,          0x0p+0, INEXACT|UNDERFLOW)
+T(RN, 0x1.fffffcp-127,                        0x1p+0L,        0x1p-126,          0x0p+0, 0)
+T(RN, 0x1.000002p-126,                        0x0p+0L,        0x1p-126,          0x0p+0, 0)
+T(RN,        0x1p-126,                        0x0p+0L, 0x1.fffffcp-127,          0x0p+0, INEXACT|UNDERFLOW)
+T(RN,          0x1p+0,       0x1.0000000000000002p+0L,   0x1.000002p+0,          0x0p+0, 0)
+T(RN,          0x1p+0,       0x1.fffffffffffffffep-1L,   0x1.fffffep-1,          0x0p+0, 0)
+T(RN,          0x1p+0,                        0x1p+0L,          0x1p+0,          0x0p+0, 0)
+T(RN,          0x1p+0,                       -0x1p+0L,   0x1.fffffep-1,          0x0p+0, 0)
+T(RN,         -0x1p+0,                        0x1p+0L,  -0x1.fffffep-1,          0x0p+0, 0)
+T(RN,         -0x1p+0,                       -0x1p+0L,         -0x1p+0,          0x0p+0, 0)
+T(RN,          0x1p+0,                            nan,             nan,          0x0p+0, 0)
+T(RN,             nan,                        0x1p+0L,             nan,          0x0p+0, 0)
+T(RN,             nan,                            nan,             nan,          0x0p+0, 0)
+T(RN,          0x0p+0,                            nan,             nan,          0x0p+0, 0)
+T(RN,          0x0p+0,                            inf,        0x1p-149,          0x0p+0, INEXACT|UNDERFLOW)
+T(RN,          0x0p+0,                           -inf,       -0x1p-149,          0x0p+0, INEXACT|UNDERFLOW)
+T(RN,          0x0p+0,                        0x0p+0L,          0x0p+0,          0x0p+0, 0)
+T(RN,          0x0p+0,                       -0x0p+0L,         -0x0p+0,          0x0p+0, 0)
+T(RN,         -0x0p+0,                            nan,             nan,          0x0p+0, 0)
+T(RN,         -0x0p+0,                            inf,        0x1p-149,          0x0p+0, INEXACT|UNDERFLOW)
+T(RN,         -0x0p+0,                           -inf,       -0x1p-149,          0x0p+0, INEXACT|UNDERFLOW)
+T(RN,         -0x0p+0,                        0x0p+0L,          0x0p+0,          0x0p+0, 0)
+T(RN,         -0x0p+0,                       -0x0p+0L,         -0x0p+0,          0x0p+0, 0)
+T(RN,             inf,                            inf,             inf,          0x0p+0, 0)
+T(RN,             inf,                           -inf, 0x1.fffffep+127,          0x0p+0, 0)
+T(RN,             inf,                            nan,             nan,          0x0p+0, 0)
+T(RN,            -inf,                            inf,-0x1.fffffep+127,          0x0p+0, 0)
+T(RN,            -inf,                           -inf,            -inf,          0x0p+0, 0)
+T(RN,            -inf,                            nan,             nan,          0x0p+0, 0)