From cfa3c8865ff8519f5110c5c261eb8cd7ded144aa Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Thu, 19 Sep 2013 16:54:23 +0530 Subject: [PATCH] New test cases for sin and cos for multiple precision fallback --- ChangeLog | 3 +++ math/libm-test.inc | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/ChangeLog b/ChangeLog index e664599..37a6058 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2013-09-19 Siddhesh Poyarekar + * math/libm-test.inc (cos_test_data): New test inputs. + (sin_test_data): Likewise. + * sysdeps/ieee754/dbl-64/s_sin.c (SINCOS_TABLE_LOOKUP): New macro. (__sin): Use it. diff --git a/math/libm-test.inc b/math/libm-test.inc index fe85bb9..2cb3d2c 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -6836,6 +6836,14 @@ static const struct test_f_f_data cos_test_data[] = TEST_f_f (cos, 0x1.fffffep+127, 8.53021039830304158051791467692161107353094e-01L), TEST_f_f (cos, 0x1p+50, 8.68095904660550604334592502063501320395739e-01L), TEST_f_f (cos, 0x1p+28, -1.65568979490578758865468278195361551113358e-01L), + +#ifdef TEST_DOUBLE + TEST_f_f (cos, 0x1.000000cf4a2a2p0, 0x1.14a27f9e7521ep-1); + TEST_f_f (cos, 0x1.0000010b239a9p0, 0x1.14a27f39bc09dp-1); + TEST_f_f (cos, 0x1.00000162a932bp0, 0x1.14a27ea670b8cp-1); + TEST_f_f (cos, 0x1.000002d452a10p0, 0x1.14a27c385222ep-1); + TEST_f_f (cos, 0x1.000005bc7d86dp0, 0x1.14a27753ee07ap-1); +#endif }; static void @@ -13305,6 +13313,16 @@ static const struct test_f_f_data sin_test_data[] = TEST_f_f (sin, 0x1.fffffep+127, -5.21876523333658540551505357019806722935726e-01L), TEST_f_f (sin, 0x1p+50, 4.96396515208940840876821859865411368093356e-01L), TEST_f_f (sin, 0x1p+28, -9.86198211836975655703110310527108292055548e-01L), + +#ifdef TEST_DOUBLE + TEST_f_f (sin, 0.93340582292648832662962377071381, 0x1.9b78326675a75p-1); + TEST_f_f (sin, 2.3328432680770916363144351635128, 0x1.7264abddb4205p-1); + TEST_f_f (sin, 3.7439477503636453548097051680088, -0x1.2217622485d94p-1); + TEST_f_f (sin, 3.9225160069792437411706487182528, -0x1.686a3d55a1306p-1); + TEST_f_f (sin, 4.0711651639931289992091478779912, -0x1.9a4c6be7f5eadp-1); + TEST_f_f (sin, 4.7858438478542097982426639646292, -0x1.fe9e8d4105e51p-1); + TEST_f_f (sin, 5.9840767662578002727968851104379, -0x1.2dbd90aa4d692p-2); +#endif }; static void -- 2.7.4