From 1421f13d69c511693e685e6e406de523610223fd Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 3 Sep 2013 01:00:51 +0000 Subject: [PATCH] math: test cases for rounding functions --- src/math/special/ceil.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/ceilf.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/ceill.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/floor.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/floorf.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/floorl.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/nearbyint.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/nearbyintf.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/nearbyintl.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/rint.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/rintf.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/rintl.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/round.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/roundf.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/roundl.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/trunc.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/truncf.h | 32 ++++++++++++++++++++++++++++++++ src/math/special/truncl.h | 32 ++++++++++++++++++++++++++++++++ 18 files changed, 576 insertions(+) diff --git a/src/math/special/ceil.h b/src/math/special/ceil.h index b95a04d..17a255b 100644 --- a/src/math/special/ceil.h +++ b/src/math/special/ceil.h @@ -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, 0x1p+0, 0x0p+0, INEXACT) T(RN, -0x1p-1, -0x0p+0, 0x0p+0, INEXACT) T(RN, 0x1.0001p+0, 0x1p+1, 0x0p+0, INEXACT) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1, 0x1p+0, 0x0p+0, INEXACT T(RN, -0x1.ffffp-1, -0x0p+0, 0x0p+0, INEXACT) T(RN, 0x1p-100, 0x1p+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, 0x1p+0, 0x0p+0, INEXACT) +T(RD, -0x1p-1, -0x0p+0, 0x0p+0, INEXACT) +T(RD, 0x1.0001p+0, 0x1p+1, 0x0p+0, INEXACT) +T(RD, -0x1.0001p+0, -0x1p+0, 0x0p+0, INEXACT) +T(RD, 0x1.ffffp-1, 0x1p+0, 0x0p+0, INEXACT) +T(RD, -0x1.ffffp-1, -0x0p+0, 0x0p+0, INEXACT) +T(RD, 0x1p-100, 0x1p+0, 0x0p+0, INEXACT) +T(RD, -0x1p-100, -0x0p+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) diff --git a/src/math/special/ceilf.h b/src/math/special/ceilf.h index 384bbba..0cf0826 100644 --- a/src/math/special/ceilf.h +++ b/src/math/special/ceilf.h @@ -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, 0x1p+0, 0x0p+0, INEXACT) T(RN, -0x1p-1, -0x0p+0, 0x0p+0, INEXACT) T(RN, 0x1.0001p+0, 0x1p+1, 0x0p+0, INEXACT) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1, 0x1p+0, 0x0p+0, INEXACT) T(RN, -0x1.ffffp-1, -0x0p+0, 0x0p+0, INEXACT) T(RN, 0x1p-100, 0x1p+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, 0x1p+0, 0x0p+0, INEXACT) +T(RD, -0x1p-1, -0x0p+0, 0x0p+0, INEXACT) +T(RD, 0x1.0001p+0, 0x1p+1, 0x0p+0, INEXACT) +T(RD, -0x1.0001p+0, -0x1p+0, 0x0p+0, INEXACT) +T(RD, 0x1.ffffp-1, 0x1p+0, 0x0p+0, INEXACT) +T(RD, -0x1.ffffp-1, -0x0p+0, 0x0p+0, INEXACT) +T(RD, 0x1p-100, 0x1p+0, 0x0p+0, INEXACT) +T(RD, -0x1p-100, -0x0p+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) diff --git a/src/math/special/ceill.h b/src/math/special/ceill.h index e2a7cc6..c787a50 100644 --- a/src/math/special/ceill.h +++ b/src/math/special/ceill.h @@ -3,6 +3,8 @@ T(RN, inf, inf, 0 T(RN, -inf, -inf, 0x0p+0, 0) T(RN, 0x0p+0L, 0x0p+0L, 0x0p+0, 0) T(RN, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RN, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RN, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) T(RN, 0x1p-1L, 0x1p+0L, 0x0p+0, INEXACT) T(RN, -0x1p-1L, -0x0p+0L, 0x0p+0, INEXACT) T(RN, 0x1.0001p+0L, 0x1p+1L, 0x0p+0, INEXACT) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1L, 0x1p+0L, 0 T(RN, -0x1.ffffp-1L, -0x0p+0L, 0x0p+0, INEXACT) T(RN, 0x1p-100L, 0x1p+0L, 0x0p+0, INEXACT) T(RN, -0x1p-100L, -0x0p+0L, 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+0L, 0x0p+0L, 0x0p+0, 0) +T(RD, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RD, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RD, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RD, 0x1p-1L, 0x1p+0L, 0x0p+0, INEXACT) +T(RD, -0x1p-1L, -0x0p+0L, 0x0p+0, INEXACT) +T(RD, 0x1.0001p+0L, 0x1p+1L, 0x0p+0, INEXACT) +T(RD, -0x1.0001p+0L, -0x1p+0L, 0x0p+0, INEXACT) +T(RD, 0x1.ffffp-1L, 0x1p+0L, 0x0p+0, INEXACT) +T(RD, -0x1.ffffp-1L, -0x0p+0L, 0x0p+0, INEXACT) +T(RD, 0x1p-100L, 0x1p+0L, 0x0p+0, INEXACT) +T(RD, -0x1p-100L, -0x0p+0L, 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+0L, 0x0p+0L, 0x0p+0, 0) +T(RU, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RU, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RU, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RU, 0x1p-1L, 0x1p+0L, 0x0p+0, INEXACT) +T(RU, -0x1p-1L, -0x0p+0L, 0x0p+0, INEXACT) +T(RU, 0x1.0001p+0L, 0x1p+1L, 0x0p+0, INEXACT) +T(RU, -0x1.0001p+0L, -0x1p+0L, 0x0p+0, INEXACT) +T(RU, 0x1.ffffp-1L, 0x1p+0L, 0x0p+0, INEXACT) +T(RU, -0x1.ffffp-1L, -0x0p+0L, 0x0p+0, INEXACT) +T(RU, 0x1p-100L, 0x1p+0L, 0x0p+0, INEXACT) +T(RU, -0x1p-100L, -0x0p+0L, 0x0p+0, INEXACT) diff --git a/src/math/special/floor.h b/src/math/special/floor.h index 090227d..a7438a3 100644 --- a/src/math/special/floor.h +++ b/src/math/special/floor.h @@ -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, -0x1p+0, 0x0p+0, INEXACT) T(RN, 0x1.0001p+0, 0x1p+0, 0x0p+0, INEXACT) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1, 0x0p+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, -0x1p+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, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1p-1, -0x1p+0, 0x0p+0, INEXACT) +T(RU, 0x1.0001p+0, 0x1p+0, 0x0p+0, INEXACT) +T(RU, -0x1.0001p+0, -0x1p+1, 0x0p+0, INEXACT) +T(RU, 0x1.ffffp-1, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1.ffffp-1, -0x1p+0, 0x0p+0, INEXACT) +T(RU, 0x1p-100, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1p-100, -0x1p+0, 0x0p+0, INEXACT) diff --git a/src/math/special/floorf.h b/src/math/special/floorf.h index 114564f..2cedbd8 100644 --- a/src/math/special/floorf.h +++ b/src/math/special/floorf.h @@ -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, -0x1p+0, 0x0p+0, INEXACT) T(RN, 0x1.0001p+0, 0x1p+0, 0x0p+0, INEXACT) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1, 0x0p+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, -0x1p+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, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1p-1, -0x1p+0, 0x0p+0, INEXACT) +T(RU, 0x1.0001p+0, 0x1p+0, 0x0p+0, INEXACT) +T(RU, -0x1.0001p+0, -0x1p+1, 0x0p+0, INEXACT) +T(RU, 0x1.ffffp-1, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1.ffffp-1, -0x1p+0, 0x0p+0, INEXACT) +T(RU, 0x1p-100, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1p-100, -0x1p+0, 0x0p+0, INEXACT) diff --git a/src/math/special/floorl.h b/src/math/special/floorl.h index 971c02e..150ba86 100644 --- a/src/math/special/floorl.h +++ b/src/math/special/floorl.h @@ -3,6 +3,8 @@ T(RN, inf, inf, 0 T(RN, -inf, -inf, 0x0p+0, 0) T(RN, 0x0p+0L, 0x0p+0L, 0x0p+0, 0) T(RN, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RN, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RN, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) T(RN, 0x1p-1L, 0x0p+0L, 0x0p+0, INEXACT) T(RN, -0x1p-1L, -0x1p+0L, 0x0p+0, INEXACT) T(RN, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, INEXACT) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1L, 0x0p+0L, 0 T(RN, -0x1.ffffp-1L, -0x1p+0L, 0x0p+0, INEXACT) T(RN, 0x1p-100L, 0x0p+0L, 0x0p+0, INEXACT) T(RN, -0x1p-100L, -0x1p+0L, 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+0L, 0x0p+0L, 0x0p+0, 0) +T(RD, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RD, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RD, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RD, 0x1p-1L, 0x0p+0L, 0x0p+0, INEXACT) +T(RD, -0x1p-1L, -0x1p+0L, 0x0p+0, INEXACT) +T(RD, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, INEXACT) +T(RD, -0x1.0001p+0L, -0x1p+1L, 0x0p+0, INEXACT) +T(RD, 0x1.ffffp-1L, 0x0p+0L, 0x0p+0, INEXACT) +T(RD, -0x1.ffffp-1L, -0x1p+0L, 0x0p+0, INEXACT) +T(RD, 0x1p-100L, 0x0p+0L, 0x0p+0, INEXACT) +T(RD, -0x1p-100L, -0x1p+0L, 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+0L, 0x0p+0L, 0x0p+0, 0) +T(RU, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RU, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RU, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RU, 0x1p-1L, 0x0p+0L, 0x0p+0, INEXACT) +T(RU, -0x1p-1L, -0x1p+0L, 0x0p+0, INEXACT) +T(RU, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, INEXACT) +T(RU, -0x1.0001p+0L, -0x1p+1L, 0x0p+0, INEXACT) +T(RU, 0x1.ffffp-1L, 0x0p+0L, 0x0p+0, INEXACT) +T(RU, -0x1.ffffp-1L, -0x1p+0L, 0x0p+0, INEXACT) +T(RU, 0x1p-100L, 0x0p+0L, 0x0p+0, INEXACT) +T(RU, -0x1p-100L, -0x1p+0L, 0x0p+0, INEXACT) diff --git a/src/math/special/nearbyint.h b/src/math/special/nearbyint.h index 5f99bda..7a08159 100644 --- a/src/math/special/nearbyint.h +++ b/src/math/special/nearbyint.h @@ -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, 0) T(RN, -0x1p-1, -0x0p+0, 0x0p+0, 0) T(RN, 0x1.0001p+0, 0x1p+0, 0x0p+0, 0) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1, 0x1p+0, 0x0p+0, 0) T(RN, -0x1.ffffp-1, -0x1p+0, 0x0p+0, 0) T(RN, 0x1p-100, 0x0p+0, 0x0p+0, 0) T(RN, -0x1p-100, -0x0p+0, 0x0p+0, 0) +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, 0) +T(RD, -0x1p-1, -0x1p+0, 0x0p+0, 0) +T(RD, 0x1.0001p+0, 0x1p+0, 0x0p+0, 0) +T(RD, -0x1.0001p+0, -0x1p+1, 0x0p+0, 0) +T(RD, 0x1.ffffp-1, 0x0p+0, 0x0p+0, 0) +T(RD, -0x1.ffffp-1, -0x1p+0, 0x0p+0, 0) +T(RD, 0x1p-100, 0x0p+0, 0x0p+0, 0) +T(RD, -0x1p-100, -0x1p+0, 0x0p+0, 0) +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, 0) +T(RU, -0x1p-1, -0x0p+0, 0x0p+0, 0) +T(RU, 0x1.0001p+0, 0x1p+1, 0x0p+0, 0) +T(RU, -0x1.0001p+0, -0x1p+0, 0x0p+0, 0) +T(RU, 0x1.ffffp-1, 0x1p+0, 0x0p+0, 0) +T(RU, -0x1.ffffp-1, -0x0p+0, 0x0p+0, 0) +T(RU, 0x1p-100, 0x1p+0, 0x0p+0, 0) +T(RU, -0x1p-100, -0x0p+0, 0x0p+0, 0) diff --git a/src/math/special/nearbyintf.h b/src/math/special/nearbyintf.h index 0c3dcff..71f1fe1 100644 --- a/src/math/special/nearbyintf.h +++ b/src/math/special/nearbyintf.h @@ -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, 0) T(RN, -0x1p-1, -0x0p+0, 0x0p+0, 0) T(RN, 0x1.0001p+0, 0x1p+0, 0x0p+0, 0) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1, 0x1p+0, 0x0p+0, 0) T(RN, -0x1.ffffp-1, -0x1p+0, 0x0p+0, 0) T(RN, 0x1p-100, 0x0p+0, 0x0p+0, 0) T(RN, -0x1p-100, -0x0p+0, 0x0p+0, 0) +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, 0) +T(RD, -0x1p-1, -0x1p+0, 0x0p+0, 0) +T(RD, 0x1.0001p+0, 0x1p+0, 0x0p+0, 0) +T(RD, -0x1.0001p+0, -0x1p+1, 0x0p+0, 0) +T(RD, 0x1.ffffp-1, 0x0p+0, 0x0p+0, 0) +T(RD, -0x1.ffffp-1, -0x1p+0, 0x0p+0, 0) +T(RD, 0x1p-100, 0x0p+0, 0x0p+0, 0) +T(RD, -0x1p-100, -0x1p+0, 0x0p+0, 0) +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, 0) +T(RU, -0x1p-1, -0x0p+0, 0x0p+0, 0) +T(RU, 0x1.0001p+0, 0x1p+1, 0x0p+0, 0) +T(RU, -0x1.0001p+0, -0x1p+0, 0x0p+0, 0) +T(RU, 0x1.ffffp-1, 0x1p+0, 0x0p+0, 0) +T(RU, -0x1.ffffp-1, -0x0p+0, 0x0p+0, 0) +T(RU, 0x1p-100, 0x1p+0, 0x0p+0, 0) +T(RU, -0x1p-100, -0x0p+0, 0x0p+0, 0) diff --git a/src/math/special/nearbyintl.h b/src/math/special/nearbyintl.h index c01fe54..f4f3c68 100644 --- a/src/math/special/nearbyintl.h +++ b/src/math/special/nearbyintl.h @@ -3,6 +3,8 @@ T(RN, inf, inf, 0 T(RN, -inf, -inf, 0x0p+0, 0) T(RN, 0x0p+0L, 0x0p+0L, 0x0p+0, 0) T(RN, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RN, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RN, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) T(RN, 0x1p-1L, 0x0p+0L, 0x0p+0, 0) T(RN, -0x1p-1L, -0x0p+0L, 0x0p+0, 0) T(RN, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, 0) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1L, 0x1p+0L, 0 T(RN, -0x1.ffffp-1L, -0x1p+0L, 0x0p+0, 0) T(RN, 0x1p-100L, 0x0p+0L, 0x0p+0, 0) T(RN, -0x1p-100L, -0x0p+0L, 0x0p+0, 0) +T(RD, nan, nan, 0x0p+0, 0) +T(RD, inf, inf, 0x0p+0, 0) +T(RD, -inf, -inf, 0x0p+0, 0) +T(RD, 0x0p+0L, 0x0p+0L, 0x0p+0, 0) +T(RD, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RD, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RD, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RD, 0x1p-1L, 0x0p+0L, 0x0p+0, 0) +T(RD, -0x1p-1L, -0x1p+0L, 0x0p+0, 0) +T(RD, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, 0) +T(RD, -0x1.0001p+0L, -0x1p+1L, 0x0p+0, 0) +T(RD, 0x1.ffffp-1L, 0x0p+0L, 0x0p+0, 0) +T(RD, -0x1.ffffp-1L, -0x1p+0L, 0x0p+0, 0) +T(RD, 0x1p-100L, 0x0p+0L, 0x0p+0, 0) +T(RD, -0x1p-100L, -0x1p+0L, 0x0p+0, 0) +T(RU, nan, nan, 0x0p+0, 0) +T(RU, inf, inf, 0x0p+0, 0) +T(RU, -inf, -inf, 0x0p+0, 0) +T(RU, 0x0p+0L, 0x0p+0L, 0x0p+0, 0) +T(RU, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RU, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RU, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RU, 0x1p-1L, 0x1p+0L, 0x0p+0, 0) +T(RU, -0x1p-1L, -0x0p+0L, 0x0p+0, 0) +T(RU, 0x1.0001p+0L, 0x1p+1L, 0x0p+0, 0) +T(RU, -0x1.0001p+0L, -0x1p+0L, 0x0p+0, 0) +T(RU, 0x1.ffffp-1L, 0x1p+0L, 0x0p+0, 0) +T(RU, -0x1.ffffp-1L, -0x0p+0L, 0x0p+0, 0) +T(RU, 0x1p-100L, 0x1p+0L, 0x0p+0, 0) +T(RU, -0x1p-100L, -0x0p+0L, 0x0p+0, 0) diff --git a/src/math/special/rint.h b/src/math/special/rint.h index 0966cd7..f36f319 100644 --- a/src/math/special/rint.h +++ b/src/math/special/rint.h @@ -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,33 @@ 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) diff --git a/src/math/special/rintf.h b/src/math/special/rintf.h index f487a01..e7b6047 100644 --- a/src/math/special/rintf.h +++ b/src/math/special/rintf.h @@ -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,33 @@ 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) diff --git a/src/math/special/rintl.h b/src/math/special/rintl.h index 5bc0320..767e2cf 100644 --- a/src/math/special/rintl.h +++ b/src/math/special/rintl.h @@ -3,6 +3,8 @@ T(RN, inf, inf, 0 T(RN, -inf, -inf, 0x0p+0, 0) T(RN, 0x0p+0L, 0x0p+0L, 0x0p+0, 0) T(RN, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RN, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RN, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) T(RN, 0x1p-1L, 0x0p+0L, 0x0p+0, INEXACT) T(RN, -0x1p-1L, -0x0p+0L, 0x0p+0, INEXACT) T(RN, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, INEXACT) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1L, 0x1p+0L, 0 T(RN, -0x1.ffffp-1L, -0x1p+0L, 0x0p+0, INEXACT) T(RN, 0x1p-100L, 0x0p+0L, 0x0p+0, INEXACT) T(RN, -0x1p-100L, -0x0p+0L, 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+0L, 0x0p+0L, 0x0p+0, 0) +T(RD, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RD, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RD, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RD, 0x1p-1L, 0x0p+0L, 0x0p+0, INEXACT) +T(RD, -0x1p-1L, -0x1p+0L, 0x0p+0, INEXACT) +T(RD, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, INEXACT) +T(RD, -0x1.0001p+0L, -0x1p+1L, 0x0p+0, INEXACT) +T(RD, 0x1.ffffp-1L, 0x0p+0L, 0x0p+0, INEXACT) +T(RD, -0x1.ffffp-1L, -0x1p+0L, 0x0p+0, INEXACT) +T(RD, 0x1p-100L, 0x0p+0L, 0x0p+0, INEXACT) +T(RD, -0x1p-100L, -0x1p+0L, 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+0L, 0x0p+0L, 0x0p+0, 0) +T(RU, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RU, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RU, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RU, 0x1p-1L, 0x1p+0L, 0x0p+0, INEXACT) +T(RU, -0x1p-1L, -0x0p+0L, 0x0p+0, INEXACT) +T(RU, 0x1.0001p+0L, 0x1p+1L, 0x0p+0, INEXACT) +T(RU, -0x1.0001p+0L, -0x1p+0L, 0x0p+0, INEXACT) +T(RU, 0x1.ffffp-1L, 0x1p+0L, 0x0p+0, INEXACT) +T(RU, -0x1.ffffp-1L, -0x0p+0L, 0x0p+0, INEXACT) +T(RU, 0x1p-100L, 0x1p+0L, 0x0p+0, INEXACT) +T(RU, -0x1p-100L, -0x0p+0L, 0x0p+0, INEXACT) diff --git a/src/math/special/round.h b/src/math/special/round.h index bc1bb01..4e0b9d9 100644 --- a/src/math/special/round.h +++ b/src/math/special/round.h @@ -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, 0x1p+0, 0x0p+0, INEXACT) T(RN, -0x1p-1, -0x1p+0, 0x0p+0, INEXACT) T(RN, 0x1.0001p+0, 0x1p+0, 0x0p+0, INEXACT) @@ -11,3 +13,33 @@ 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, 0x1p+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+0, 0x0p+0, INEXACT) +T(RD, 0x1.ffffp-1, 0x1p+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, -0x0p+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, -0x1p+0, 0x0p+0, INEXACT) +T(RU, 0x1.0001p+0, 0x1p+0, 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, -0x1p+0, 0x0p+0, INEXACT) +T(RU, 0x1p-100, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1p-100, -0x0p+0, 0x0p+0, INEXACT) diff --git a/src/math/special/roundf.h b/src/math/special/roundf.h index 2697a4b..95f0df3 100644 --- a/src/math/special/roundf.h +++ b/src/math/special/roundf.h @@ -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, 0x1p+0, 0x0p+0, INEXACT) T(RN, -0x1p-1, -0x1p+0, 0x0p+0, INEXACT) T(RN, 0x1.0001p+0, 0x1p+0, 0x0p+0, INEXACT) @@ -11,3 +13,33 @@ 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, 0x1p+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+0, 0x0p+0, INEXACT) +T(RD, 0x1.ffffp-1, 0x1p+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, -0x0p+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, -0x1p+0, 0x0p+0, INEXACT) +T(RU, 0x1.0001p+0, 0x1p+0, 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, -0x1p+0, 0x0p+0, INEXACT) +T(RU, 0x1p-100, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1p-100, -0x0p+0, 0x0p+0, INEXACT) diff --git a/src/math/special/roundl.h b/src/math/special/roundl.h index 27ac120..a0dd1d1 100644 --- a/src/math/special/roundl.h +++ b/src/math/special/roundl.h @@ -3,6 +3,8 @@ T(RN, inf, inf, 0 T(RN, -inf, -inf, 0x0p+0, 0) T(RN, 0x0p+0L, 0x0p+0L, 0x0p+0, 0) T(RN, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RN, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RN, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) T(RN, 0x1p-1L, 0x1p+0L, 0x0p+0, INEXACT) T(RN, -0x1p-1L, -0x1p+0L, 0x0p+0, INEXACT) T(RN, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, INEXACT) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1L, 0x1p+0L, 0 T(RN, -0x1.ffffp-1L, -0x1p+0L, 0x0p+0, INEXACT) T(RN, 0x1p-100L, 0x0p+0L, 0x0p+0, INEXACT) T(RN, -0x1p-100L, -0x0p+0L, 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+0L, 0x0p+0L, 0x0p+0, 0) +T(RD, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RD, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RD, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RD, 0x1p-1L, 0x1p+0L, 0x0p+0, INEXACT) +T(RD, -0x1p-1L, -0x1p+0L, 0x0p+0, INEXACT) +T(RD, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, INEXACT) +T(RD, -0x1.0001p+0L, -0x1p+0L, 0x0p+0, INEXACT) +T(RD, 0x1.ffffp-1L, 0x1p+0L, 0x0p+0, INEXACT) +T(RD, -0x1.ffffp-1L, -0x1p+0L, 0x0p+0, INEXACT) +T(RD, 0x1p-100L, 0x0p+0L, 0x0p+0, INEXACT) +T(RD, -0x1p-100L, -0x0p+0L, 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+0L, 0x0p+0L, 0x0p+0, 0) +T(RU, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RU, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RU, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RU, 0x1p-1L, 0x1p+0L, 0x0p+0, INEXACT) +T(RU, -0x1p-1L, -0x1p+0L, 0x0p+0, INEXACT) +T(RU, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, INEXACT) +T(RU, -0x1.0001p+0L, -0x1p+0L, 0x0p+0, INEXACT) +T(RU, 0x1.ffffp-1L, 0x1p+0L, 0x0p+0, INEXACT) +T(RU, -0x1.ffffp-1L, -0x1p+0L, 0x0p+0, INEXACT) +T(RU, 0x1p-100L, 0x0p+0L, 0x0p+0, INEXACT) +T(RU, -0x1p-100L, -0x0p+0L, 0x0p+0, INEXACT) diff --git a/src/math/special/trunc.h b/src/math/special/trunc.h index e3ce2c4..d9b8a5f 100644 --- a/src/math/special/trunc.h +++ b/src/math/special/trunc.h @@ -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,33 @@ T(RN, 0x1.ffffp-1, 0x0p+0, 0x0p+0, INEXACT T(RN, -0x1.ffffp-1, -0x0p+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, -0x0p+0, 0x0p+0, INEXACT) +T(RD, 0x1.0001p+0, 0x1p+0, 0x0p+0, INEXACT) +T(RD, -0x1.0001p+0, -0x1p+0, 0x0p+0, INEXACT) +T(RD, 0x1.ffffp-1, 0x0p+0, 0x0p+0, INEXACT) +T(RD, -0x1.ffffp-1, -0x0p+0, 0x0p+0, INEXACT) +T(RD, 0x1p-100, 0x0p+0, 0x0p+0, INEXACT) +T(RD, -0x1p-100, -0x0p+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, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1p-1, -0x0p+0, 0x0p+0, INEXACT) +T(RU, 0x1.0001p+0, 0x1p+0, 0x0p+0, INEXACT) +T(RU, -0x1.0001p+0, -0x1p+0, 0x0p+0, INEXACT) +T(RU, 0x1.ffffp-1, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1.ffffp-1, -0x0p+0, 0x0p+0, INEXACT) +T(RU, 0x1p-100, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1p-100, -0x0p+0, 0x0p+0, INEXACT) diff --git a/src/math/special/truncf.h b/src/math/special/truncf.h index 010836b..552acf3 100644 --- a/src/math/special/truncf.h +++ b/src/math/special/truncf.h @@ -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,33 @@ T(RN, 0x1.ffffp-1, 0x0p+0, 0x0p+0, INEXACT) T(RN, -0x1.ffffp-1, -0x0p+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, -0x0p+0, 0x0p+0, INEXACT) +T(RD, 0x1.0001p+0, 0x1p+0, 0x0p+0, INEXACT) +T(RD, -0x1.0001p+0, -0x1p+0, 0x0p+0, INEXACT) +T(RD, 0x1.ffffp-1, 0x0p+0, 0x0p+0, INEXACT) +T(RD, -0x1.ffffp-1, -0x0p+0, 0x0p+0, INEXACT) +T(RD, 0x1p-100, 0x0p+0, 0x0p+0, INEXACT) +T(RD, -0x1p-100, -0x0p+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, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1p-1, -0x0p+0, 0x0p+0, INEXACT) +T(RU, 0x1.0001p+0, 0x1p+0, 0x0p+0, INEXACT) +T(RU, -0x1.0001p+0, -0x1p+0, 0x0p+0, INEXACT) +T(RU, 0x1.ffffp-1, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1.ffffp-1, -0x0p+0, 0x0p+0, INEXACT) +T(RU, 0x1p-100, 0x0p+0, 0x0p+0, INEXACT) +T(RU, -0x1p-100, -0x0p+0, 0x0p+0, INEXACT) diff --git a/src/math/special/truncl.h b/src/math/special/truncl.h index 74ebaa7..7c3505a 100644 --- a/src/math/special/truncl.h +++ b/src/math/special/truncl.h @@ -3,6 +3,8 @@ T(RN, inf, inf, 0 T(RN, -inf, -inf, 0x0p+0, 0) T(RN, 0x0p+0L, 0x0p+0L, 0x0p+0, 0) T(RN, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RN, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RN, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) T(RN, 0x1p-1L, 0x0p+0L, 0x0p+0, INEXACT) T(RN, -0x1p-1L, -0x0p+0L, 0x0p+0, INEXACT) T(RN, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, INEXACT) @@ -11,3 +13,33 @@ T(RN, 0x1.ffffp-1L, 0x0p+0L, 0 T(RN, -0x1.ffffp-1L, -0x0p+0L, 0x0p+0, INEXACT) T(RN, 0x1p-100L, 0x0p+0L, 0x0p+0, INEXACT) T(RN, -0x1p-100L, -0x0p+0L, 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+0L, 0x0p+0L, 0x0p+0, 0) +T(RD, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RD, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RD, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RD, 0x1p-1L, 0x0p+0L, 0x0p+0, INEXACT) +T(RD, -0x1p-1L, -0x0p+0L, 0x0p+0, INEXACT) +T(RD, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, INEXACT) +T(RD, -0x1.0001p+0L, -0x1p+0L, 0x0p+0, INEXACT) +T(RD, 0x1.ffffp-1L, 0x0p+0L, 0x0p+0, INEXACT) +T(RD, -0x1.ffffp-1L, -0x0p+0L, 0x0p+0, INEXACT) +T(RD, 0x1p-100L, 0x0p+0L, 0x0p+0, INEXACT) +T(RD, -0x1p-100L, -0x0p+0L, 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+0L, 0x0p+0L, 0x0p+0, 0) +T(RU, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RU, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) +T(RU, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) +T(RU, 0x1p-1L, 0x0p+0L, 0x0p+0, INEXACT) +T(RU, -0x1p-1L, -0x0p+0L, 0x0p+0, INEXACT) +T(RU, 0x1.0001p+0L, 0x1p+0L, 0x0p+0, INEXACT) +T(RU, -0x1.0001p+0L, -0x1p+0L, 0x0p+0, INEXACT) +T(RU, 0x1.ffffp-1L, 0x0p+0L, 0x0p+0, INEXACT) +T(RU, -0x1.ffffp-1L, -0x0p+0L, 0x0p+0, INEXACT) +T(RU, 0x1p-100L, 0x0p+0L, 0x0p+0, INEXACT) +T(RU, -0x1p-100L, -0x0p+0L, 0x0p+0, INEXACT) -- 2.20.1