summary refs log tree commit diff
path: root/math/libm-test.inc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-03-21 15:28:05 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-03-21 15:28:05 +0000
commit1a4ac776ebc9bb07287f59f63e473db531318dff (patch)
tree060b13d55d9091e4448a15a326d807d70f25a13c /math/libm-test.inc
parenta458e7fe3835b8a3bcac5a54733af45cc06fc0da (diff)
downloadglibc-1a4ac776ebc9bb07287f59f63e473db531318dff.tar.gz
glibc-1a4ac776ebc9bb07287f59f63e473db531318dff.tar.xz
glibc-1a4ac776ebc9bb07287f59f63e473db531318dff.zip
Remove inaccurate x86 cexp implementations (bug 13883).
Diffstat (limited to 'math/libm-test.inc')
-rw-r--r--math/libm-test.inc15
1 files changed, 15 insertions, 0 deletions
diff --git a/math/libm-test.inc b/math/libm-test.inc
index afc6f55d7b..05a000e0c1 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -1894,6 +1894,21 @@ cexp_test (void)
   TEST_c_c (cexp, 0.75L, 1.25L, 0.667537446429131586942201977015932112L, 2.00900045494094876258347228145863909L);
   TEST_c_c (cexp, -2.0, -3.0, -0.13398091492954261346140525546115575L, -0.019098516261135196432576240858800925L);
 
+  TEST_c_c (cexp, 0, 0x1p65, 0.99888622066058013610642172179340364209972L, -0.047183876212354673805106149805700013943218L);
+  TEST_c_c (cexp, 0, -0x1p65, 0.99888622066058013610642172179340364209972L, 0.047183876212354673805106149805700013943218L);
+  TEST_c_c (cexp, 50, 0x1p127, 4.053997150228616856622417636046265337193e21L, 3.232070315463388524466674772633810238819e21L);
+
+#ifndef TEST_FLOAT
+  TEST_c_c (cexp, 0, 1e22, 0.5232147853951389454975944733847094921409L, -0.8522008497671888017727058937530293682618L);
+  TEST_c_c (cexp, 0, 0x1p1023, -0.826369834614147994500785680811743734805L, 0.5631277798508840134529434079444683477104L);
+  TEST_c_c (cexp, 500, 0x1p1023, -1.159886268932754433233243794561351783426e217L, 7.904017694554466595359379965081774849708e216L);
+#endif
+
+#if defined TEST_LDOUBLE && LDBL_MAX_EXP >= 16384
+  TEST_c_c (cexp, 0, 0x1p16383L, 0.9210843909921906206874509522505756251609L, 0.3893629985894208126948115852610595405563L);
+  TEST_c_c (cexp, -10000, 0x1p16383L, 1.045876464564882298442774542991176546722e-4343L, 4.421154026488516836023811173959413420548e-4344L);
+#endif
+
   END (cexp, complex);
 }