From 8b86f7f60953d319461ef976cf1dadb6da7999d8 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 5 Sep 2013 11:31:56 +0000 Subject: [PATCH] math: add some special case tests --- src/math/special/acoshf.h | 1 + src/math/special/atanl.h | 1 + src/math/special/cbrtl.h | 1 + src/math/special/exp2.h | 9 +++++++++ src/math/special/exp2l.h | 12 ++++++++++++ 5 files changed, 24 insertions(+) diff --git a/src/math/special/acoshf.h b/src/math/special/acoshf.h index 1a1c499..353318b 100644 --- a/src/math/special/acoshf.h +++ b/src/math/special/acoshf.h @@ -5,3 +5,4 @@ T(RN, 0x1.ffffp-1, nan, 0x0p+0, INVALID) T(RN, 0x0p+0, nan, 0x0p+0, INVALID) T(RN, -0x0p+0, nan, 0x0p+0, INVALID) T(RN, -inf, nan, 0x0p+0, INVALID) +T(RN, -0x1p+50, nan, 0x0p+0, INVALID) diff --git a/src/math/special/atanl.h b/src/math/special/atanl.h index fc5805f..232368b 100644 --- a/src/math/special/atanl.h +++ b/src/math/special/atanl.h @@ -5,3 +5,4 @@ T(RN, -0x1p+0L, -0x1.921fb54442d1846ap-1L, -0x1.d9cc T(RN, inf, 0x1.921fb54442d1846ap+0L, 0x1.d9ccecp-3, INEXACT) T(RN, -inf, -0x1.921fb54442d1846ap+0L, -0x1.d9ccecp-3, INEXACT) T(RN, nan, nan, 0x0p+0, 0) +T(RN, 0x1.bd04f56701294p-2L, 0x1.a3cdc8cc1f2e6d0ep-2L, 0x1.bc9c04p-9, INEXACT) diff --git a/src/math/special/cbrtl.h b/src/math/special/cbrtl.h index b94ee6a..c53e4c0 100644 --- a/src/math/special/cbrtl.h +++ b/src/math/special/cbrtl.h @@ -8,3 +8,4 @@ T(RN, -0x1p-30L, -0x1p-10L, 0 T(RN, 0x1p+0L, 0x1p+0L, 0x0p+0, 0) T(RN, -0x1p+0L, -0x1p+0L, 0x0p+0, 0) T(RN, 0x1p+3L, 0x1p+1L, 0x0p+0, 0) +T(RN, -0x1p-16433L, -0x1.428a2f98d728ae22p-5478L, 0x1.eed5b8p-4, INEXACT) diff --git a/src/math/special/exp2.h b/src/math/special/exp2.h index 488577c..bde4a28 100644 --- a/src/math/special/exp2.h +++ b/src/math/special/exp2.h @@ -14,3 +14,12 @@ T(RN, 0x1.fff3333333333p+9, 0x1.ddb680117aa8ep+1023, 0x1.966dfcp-2, INEXACT T(RN, 0x1p+10, inf, 0x0p+0, INEXACT|OVERFLOW) T(RN, 0x1.0006666666666p+10, inf, 0x0p+0, INEXACT|OVERFLOW) T(RN, 0x1.91eb851eb851fp+1, 0x1.1a167423fc31cp+3, 0x1.9287b8p-2, INEXACT) +T(RN, -0x1.ff4p+9, 0x1.6a09e667f3bccp-1023, -0x1.21166p-2, INEXACT|UNDERFLOW) +T(RN, -0x1.ff8p+9, 0x1p-1023, 0x0p+0, 0) +T(RN, -0x1.ffcp+9, 0x1.6a09e667f3bccp-1024, -0x1.21166p-3, INEXACT|UNDERFLOW) +T(RN, -0x1p+10, 0x1p-1024, 0x0p+0, 0) +T(RN, -0x1.004p+10, 0x1p-1025, 0x0p+0, 0) +T(RN, -0x1.0c8p+10, 0x1p-1074, 0x0p+0, 0) +T(RN, -0x1.0cap+10, 0x1p-1074, 0x1.2bec34p-2, INEXACT|UNDERFLOW) +T(RN, -0x1.0ccp+10, 0x0p+0, -0x1p-1, INEXACT|UNDERFLOW) +T(RN, -0x1p+11, 0x0p+0, 0x0p+0, INEXACT|UNDERFLOW) diff --git a/src/math/special/exp2l.h b/src/math/special/exp2l.h index 6c387eb..bed2937 100644 --- a/src/math/special/exp2l.h +++ b/src/math/special/exp2l.h @@ -12,3 +12,15 @@ T(RN, 0x1.ffff333333333334p+13L, 0x1.ddb680117ab141f6p+16383L, -0x1.b531 T(RN, 0x1p+14L, inf, 0x0p+0, INEXACT|OVERFLOW) T(RN, 0x1.0000666666666666p+14L, inf, 0x0p+0, INEXACT|OVERFLOW) T(RN, 0x1.91eb851eb851eb86p+1L, 0x1.1a167423fc31b2ep+3L, 0x1.6b7e14p-2, INEXACT) +T(RN, -0x1.fffp+13L, 0x1p-16382L, 0x0p+0, 0) +T(RN, -0x1.fff4p+13L, 0x1.6a09e667f3bcc908p-16383L, -0x1.65f626p-3, INEXACT|UNDERFLOW) +T(RN, -0x1.fff8p+13L, 0x1p-16383L, 0x0p+0, 0) +T(RN, -0x1.fffcp+13L, 0x1.6a09e667f3bcc908p-16384L, -0x1.65f626p-4, INEXACT|UNDERFLOW) +T(RN, -0x1p+14L, 0x1p-16384L, 0x0p+0, 0) +T(RN, -0x1.0002p+14L, 0x1.6a09e667f3bcc91p-16385L, 0x1.d3413cp-2, INEXACT|UNDERFLOW) +T(RN, -0x1.0004p+14L, 0x1p-16385L, 0x0p+0, 0) +T(RN, -0x1.00f4p+14L, 0x1p-16445L, 0x0p+0, 0) +T(RN, -0x1.00f6p+14L, 0x1p-16445L, 0x1.2bec34p-2, INEXACT|UNDERFLOW) +T(RN, 0x1.999999999999999ap-4L, 0x1.125fbee250664262p+0L, -0x1.5e1baap-2, INEXACT) +T(RN, -0x1.999999999999999ap-4L, 0x1.ddb680117ab120dap-1L, -0x1.a1ef26p-8, INEXACT) +T(RN, 0x1p-16384L, 0x1p+0L, 0x0p+0, INEXACT) -- 2.20.1