From: Joseph Myers Date: Sun, 19 May 2013 14:45:41 +0000 (+0000) Subject: Handle sincos with generic libm-test logic. X-Git-Tag: upstream/2.20~2051 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=db62a9075305963281572cb990d1c766948bae7b;p=platform%2Fupstream%2Flinaro-glibc.git Handle sincos with generic libm-test logic. --- diff --git a/ChangeLog b/ChangeLog index 30b5a3a..5967380 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,25 @@ 2013-05-19 Joseph Myers + * math/gen-libm-test.pl (special_functions): Remove. + (parse_args): Don't handle TEST_extra. Handle functions with no + return value. + * math/libm-test.inc (struct test_sincos_data): Replace with + struct test_fFF_11_data. + (RUN_TEST_sincos): Replace with RUN_TEST_fFF_11. + (RUN_TEST_LOOP_sincos): Replace with RUN_TEST_LOOP_fFF_11. + (sincos_test_data): Change element type to struct + test_fFF_11_data. Use TEST_fFF_11 instead of TEST_extra. + (sincos_test): Use RUN_TEST_LOOP_fFF_11 instead of + RUN_TEST_LOOP_sincos. + * math/README.libm-test: Don't mention special handling of + individual functions. + * sysdeps/i386/fpu/libm-test-ulps: Update names of sincos tests. + * sysdeps/powerpc/fpu/libm-test-ulps: Likewise. + * sysdeps/s390/fpu/libm-test-ulps: Likewise. + * sysdeps/sh/sh4/fpu/libm-test-ulps: Likewise. + * sysdeps/sparc/fpu/libm-test-ulps: Likewise. + * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. + * math/gen-libm-test.pl (get_variable): Remove function. (parse_args): Don't show pointer parameters to call in test names. Use "extra output N" in test names for extra outputs diff --git a/math/README.libm-test b/math/README.libm-test index cea0392..a083a6d 100644 --- a/math/README.libm-test +++ b/math/README.libm-test @@ -103,8 +103,3 @@ The accepted parameter types are: - "L" for long long int. - "F" for the address of a FLOAT (only as input parameter) - "I" for the address of an int (only as input parameter) - -Some functions need special handling. For example gamma sets the -global variable signgam and frexp takes an argument to &int. This -special treatment is coded in "gen-libm-test.pl" and used while -parsing "libm-test.inc". diff --git a/math/gen-libm-test.pl b/math/gen-libm-test.pl index e9f7f9b..c50e27d 100755 --- a/math/gen-libm-test.pl +++ b/math/gen-libm-test.pl @@ -156,33 +156,6 @@ sub show_exceptions { } } -# Treat some functions especially. -# Currently only sincos needs extra treatment. -sub special_functions { - my ($file, $args) = @_; - my (@args, $str, $test, $cline); - - @args = split /,\s*/, $args; - - unless ($args[0] =~ /sincos/) { - die ("Don't know how to handle $args[0] extra."); - } - $cline = " { $args[1]"; - - $str = 'sincos (' . &beautify ($args[1]) . ', &sin_res, &cos_res)'; - # handle sin - $test = $str . ' puts ' . &beautify ($args[2]) . ' in sin_res'; - - $cline .= ", \"$test\", $args[2]"; - - # handle cos - $test = $str . ' puts ' . &beautify ($args[3]) . ' in cos_res'; - $cline .= ", \"$test\", $args[3]"; - $cline .= show_exceptions ($args[4]); - $cline .= " },\n"; - print $file $cline; -} - # Parse the arguments to TEST_x_y sub parse_args { my ($file, $descr, $fct, $args) = @_; @@ -191,10 +164,6 @@ sub parse_args { my (@special); my ($call); - if ($descr eq 'extra') { - &special_functions ($file, $args); - return; - } ($descr_args, $descr_res) = split /_/,$descr, 2; @args = split /,\s*/, $args; @@ -284,15 +253,14 @@ sub parse_args { next; } } - $cline .= ", "; @descr = split //,$descr_res; foreach (@descr) { if ($_ =~ /b|f|i|l|L/ ) { - $cline .= $args[$current_arg]; + $cline .= ", $args[$current_arg]"; $current_arg++; } elsif ($_ eq 'c') { - $cline .= "$args[$current_arg], $args[$current_arg+1]"; + $cline .= ", $args[$current_arg], $args[$current_arg+1]"; $current_arg += 2; } elsif ($_ eq '1') { push @special, $args[$current_arg]; diff --git a/math/libm-test.inc b/math/libm-test.inc index 0cff259..3374ce9 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -1053,14 +1053,17 @@ struct test_f_L_data long long int expected; int exceptions; }; -struct test_sincos_data +struct test_fFF_11_data { + const char *test_name; FLOAT arg; - const char *test_name_sin; - FLOAT expected_sin; - const char *test_name_cos; - FLOAT expected_cos; int exceptions; + const char *extra1_name; + int extra1_test; + FLOAT extra1_expected; + const char *extra2_name; + int extra2_test; + FLOAT extra2_expected; }; /* Set the rounding mode, or restore the saved value. */ @@ -1319,26 +1322,31 @@ struct test_sincos_data RUN_TEST_f_L ((ARRAY)[i].test_name, FUNC_NAME, (ARRAY)[i].arg, \ (ARRAY)[i].expected, (ARRAY)[i].exceptions); \ ROUND_RESTORE_ ## ROUNDING_MODE -#define RUN_TEST_sincos(ARG, TEST_NAME_SIN, SIN_RES_VAR, \ - EXPECTED_SIN, TEST_NAME_COS, COS_RES_VAR, \ - EXPECTED_COS, EXCEPTIONS) \ +#define RUN_TEST_fFF_11(TEST_NAME, FUNC_NAME, ARG, EXCEPTIONS, \ + EXTRA1_NAME, EXTRA1_VAR, EXTRA1_TEST, \ + EXTRA1_EXPECTED, EXTRA2_NAME, EXTRA2_VAR, \ + EXTRA2_TEST, EXTRA2_EXPECTED) \ do \ { \ - FUNC (sincos) (ARG, &(SIN_RES_VAR), &(COS_RES_VAR)); \ - check_float (TEST_NAME_SIN, SIN_RES_VAR, \ - EXPECTED_SIN, EXCEPTIONS); \ - check_float (TEST_NAME_COS, COS_RES_VAR, \ - EXPECTED_COS, 0); \ + FUNC (FUNC_NAME) (ARG, &(EXTRA1_VAR), &(EXTRA2_VAR)); \ + if (EXTRA1_TEST) \ + check_float (EXTRA1_NAME, EXTRA1_VAR, EXTRA1_EXPECTED, \ + EXCEPTIONS); \ + if (EXTRA2_TEST) \ + check_float (EXTRA2_NAME, EXTRA2_VAR, EXTRA2_EXPECTED, 0); \ } \ while (0) -#define RUN_TEST_LOOP_sincos(ARRAY, ROUNDING_MODE, SIN_RES_VAR, \ - COS_RES_VAR) \ +#define RUN_TEST_LOOP_fFF_11(FUNC_NAME, ARRAY, ROUNDING_MODE, \ + EXTRA1_VAR, EXTRA2_VAR) \ IF_ROUND_INIT_ ## ROUNDING_MODE \ for (size_t i = 0; i < sizeof (ARRAY) / sizeof (ARRAY)[0]; i++) \ - RUN_TEST_sincos ((ARRAY)[i].arg, (ARRAY)[i].test_name_sin, \ - SIN_RES_VAR, (ARRAY)[i].expected_sin, \ - (ARRAY)[i].test_name_cos, COS_RES_VAR, \ - (ARRAY)[i].expected_cos, (ARRAY)[i].exceptions); \ + RUN_TEST_fFF_11 ((ARRAY)[i].test_name, FUNC_NAME, (ARRAY)[i].arg, \ + (ARRAY)[i].exceptions, (ARRAY)[i].extra1_name, \ + EXTRA1_VAR, (ARRAY)[i].extra1_test, \ + (ARRAY)[i].extra1_expected, \ + (ARRAY)[i].extra2_name, EXTRA2_VAR, \ + (ARRAY)[i].extra2_test, \ + (ARRAY)[i].extra2_expected); \ ROUND_RESTORE_ ## ROUNDING_MODE @@ -13394,16 +13402,15 @@ sin_test_upward (void) } -static const struct test_sincos_data sincos_test_data[] = +static const struct test_fFF_11_data sincos_test_data[] = { START_DATA (sincos), - /* sincos is treated differently because it returns void. */ - TEST_extra (sincos, 0, 0, 1), + TEST_fFF_11 (sincos, 0, 0, 1), - TEST_extra (sincos, minus_zero, minus_zero, 1), - TEST_extra (sincos, plus_infty, qnan_value, qnan_value, INVALID_EXCEPTION), - TEST_extra (sincos, minus_infty, qnan_value, qnan_value, INVALID_EXCEPTION), - TEST_extra (sincos, qnan_value, qnan_value, qnan_value), + TEST_fFF_11 (sincos, minus_zero, minus_zero, 1), + TEST_fFF_11 (sincos, plus_infty, qnan_value, qnan_value, INVALID_EXCEPTION), + TEST_fFF_11 (sincos, minus_infty, qnan_value, qnan_value, INVALID_EXCEPTION), + TEST_fFF_11 (sincos, qnan_value, qnan_value, qnan_value), /* The value of M_PI_2l is never exactly PI/2, and therefore the answer is never exactly zero. The answer is equal to the error @@ -13411,51 +13418,51 @@ static const struct test_sincos_data sincos_test_data[] = to each type. */ #ifdef TEST_FLOAT /* 32-bit float. */ - TEST_extra (sincos, M_PI_2l, 1, -0x1.777a5cp-25L), + TEST_fFF_11 (sincos, M_PI_2l, 1, -0x1.777a5cp-25L), #endif #if defined TEST_DOUBLE || (defined TEST_LDOUBLE && LDBL_MANT_DIG == 53) /* 64-bit double or 64-bit long double. */ - TEST_extra (sincos, M_PI_2l, 1, 0x1.1a62633145c07p-54L), + TEST_fFF_11 (sincos, M_PI_2l, 1, 0x1.1a62633145c07p-54L), #endif #if defined TEST_LDOUBLE && LDBL_MANT_DIG == 64 /* 96-bit long double. */ - TEST_extra (sincos, M_PI_2l, 1, -0xe.ce675d1fc8f8cbbp-69L), + TEST_fFF_11 (sincos, M_PI_2l, 1, -0xe.ce675d1fc8f8cbbp-69L), #endif #if defined TEST_LDOUBLE && LDBL_MANT_DIG == 106 /* 128-bit IBM long double. */ - TEST_extra (sincos, M_PI_2l, 1, 0x1.c1cd129024e088a67cc74020bcp-107L), + TEST_fFF_11 (sincos, M_PI_2l, 1, 0x1.c1cd129024e088a67cc74020bcp-107L), #endif #if defined TEST_LDOUBLE && LDBL_MANT_DIG == 113 /* 128-bit long double. */ - TEST_extra (sincos, M_PI_2l, 1, 0x1.cd129024e088a67cc74020bbea64p-115L), + TEST_fFF_11 (sincos, M_PI_2l, 1, 0x1.cd129024e088a67cc74020bbea64p-115L), #endif - TEST_extra (sincos, M_PI_6l, 0.5, 0.86602540378443864676372317075293616L), - TEST_extra (sincos, M_PI_6l*2.0, 0.86602540378443864676372317075293616L, 0.5), - TEST_extra (sincos, 0.75L, 0.681638760023334166733241952779893935L, 0.731688868873820886311838753000084544L), + TEST_fFF_11 (sincos, M_PI_6l, 0.5, 0.86602540378443864676372317075293616L), + TEST_fFF_11 (sincos, M_PI_6l*2.0, 0.86602540378443864676372317075293616L, 0.5), + TEST_fFF_11 (sincos, 0.75L, 0.681638760023334166733241952779893935L, 0.731688868873820886311838753000084544L), - TEST_extra (sincos, 0x1p65, -0.047183876212354673805106149805700013943218L, 0.99888622066058013610642172179340364209972L), - TEST_extra (sincos, -0x1p65, 0.047183876212354673805106149805700013943218L, 0.99888622066058013610642172179340364209972L), + TEST_fFF_11 (sincos, 0x1p65, -0.047183876212354673805106149805700013943218L, 0.99888622066058013610642172179340364209972L), + TEST_fFF_11 (sincos, -0x1p65, 0.047183876212354673805106149805700013943218L, 0.99888622066058013610642172179340364209972L), #ifdef TEST_DOUBLE - TEST_extra (sincos, 0.80190127184058835, 0.71867942238767868, 0.69534156199418473), + TEST_fFF_11 (sincos, 0.80190127184058835, 0.71867942238767868, 0.69534156199418473), #endif #ifndef TEST_FLOAT - TEST_extra (sincos, 1e22, -0.8522008497671888017727058937530293682618L, 0.5232147853951389454975944733847094921409L), - TEST_extra (sincos, 0x1p1023, 0.5631277798508840134529434079444683477104L, -0.826369834614147994500785680811743734805L), + TEST_fFF_11 (sincos, 1e22, -0.8522008497671888017727058937530293682618L, 0.5232147853951389454975944733847094921409L), + TEST_fFF_11 (sincos, 0x1p1023, 0.5631277798508840134529434079444683477104L, -0.826369834614147994500785680811743734805L), #endif #if defined TEST_LDOUBLE && LDBL_MAX_EXP >= 16384 - TEST_extra (sincos, 0x1p16383L, 0.3893629985894208126948115852610595405563L, 0.9210843909921906206874509522505756251609L), + TEST_fFF_11 (sincos, 0x1p16383L, 0.3893629985894208126948115852610595405563L, 0.9210843909921906206874509522505756251609L), #endif - TEST_extra (sincos, 0x1p+120, 3.77820109360752022655548470056922991960587e-01L, -9.25879022854837867303861764107414946730833e-01L), - TEST_extra (sincos, 0x1p+127, 6.23385512955870240370428801097126489001833e-01L, 7.81914638714960072263910298466369236613162e-01L), - TEST_extra (sincos, 0x1.fffff8p+127, 4.85786063130487339701113680434728152037092e-02L, 9.98819362551949040703862043664101081064641e-01L), - TEST_extra (sincos, 0x1.fffffep+127, -5.21876523333658540551505357019806722935726e-01L, 8.53021039830304158051791467692161107353094e-01L), - TEST_extra (sincos, 0x1p+50, 4.96396515208940840876821859865411368093356e-01L, 8.68095904660550604334592502063501320395739e-01L), - TEST_extra (sincos, 0x1p+28, -9.86198211836975655703110310527108292055548e-01L, -1.65568979490578758865468278195361551113358e-01L), + TEST_fFF_11 (sincos, 0x1p+120, 3.77820109360752022655548470056922991960587e-01L, -9.25879022854837867303861764107414946730833e-01L), + TEST_fFF_11 (sincos, 0x1p+127, 6.23385512955870240370428801097126489001833e-01L, 7.81914638714960072263910298466369236613162e-01L), + TEST_fFF_11 (sincos, 0x1.fffff8p+127, 4.85786063130487339701113680434728152037092e-02L, 9.98819362551949040703862043664101081064641e-01L), + TEST_fFF_11 (sincos, 0x1.fffffep+127, -5.21876523333658540551505357019806722935726e-01L, 8.53021039830304158051791467692161107353094e-01L), + TEST_fFF_11 (sincos, 0x1p+50, 4.96396515208940840876821859865411368093356e-01L, 8.68095904660550604334592502063501320395739e-01L), + TEST_fFF_11 (sincos, 0x1p+28, -9.86198211836975655703110310527108292055548e-01L, -1.65568979490578758865468278195361551113358e-01L), END_DATA (sincos) }; @@ -13465,7 +13472,7 @@ sincos_test (void) FLOAT sin_res, cos_res; START (sincos); - RUN_TEST_LOOP_sincos (sincos_test_data, , sin_res, cos_res); + RUN_TEST_LOOP_fFF_11 (sincos, sincos_test_data, , sin_res, cos_res); END (sincos); } diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64 index a4fc296..c667723 100644 --- a/ports/ChangeLog.aarch64 +++ b/ports/ChangeLog.aarch64 @@ -1,3 +1,7 @@ +2013-05-19 Joseph Myers + + * sysdeps/aarch64/libm-test-ulps: Update names of sincos tests. + 2013-05-16 Maciej W. Rozycki [BZ #15442] diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha index 3c16ce0..cc402be 100644 --- a/ports/ChangeLog.alpha +++ b/ports/ChangeLog.alpha @@ -1,3 +1,7 @@ +2013-05-19 Joseph Myers + + * sysdeps/alpha/fpu/libm-test-ulps: Update names of sincos tests. + 2013-05-16 Maciej W. Rozycki [BZ #15442] diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm index 81b2a56..92fd2bf 100644 --- a/ports/ChangeLog.arm +++ b/ports/ChangeLog.arm @@ -1,3 +1,7 @@ +2013-05-19 Joseph Myers + + * sysdeps/arm/libm-test-ulps: Update names of sincos tests. + 2013-05-16 Ryan S. Arnold * sysdeps/unix/sysv/linux/arm/bits/atomic.h: Add missing #include diff --git a/ports/ChangeLog.hppa b/ports/ChangeLog.hppa index a7bb515..23969e6 100644 --- a/ports/ChangeLog.hppa +++ b/ports/ChangeLog.hppa @@ -1,3 +1,7 @@ +2013-05-19 Joseph Myers + + * sysdeps/hppa/fpu/libm-test-ulps: Update names of sincos tests. + 2013-05-15 Carlos O'Donell * sysdeps/hppa/fpu/libm-test-ulps: Remove old values for ceil, floor, diff --git a/ports/ChangeLog.ia64 b/ports/ChangeLog.ia64 index 50b5604..158e860 100644 --- a/ports/ChangeLog.ia64 +++ b/ports/ChangeLog.ia64 @@ -1,3 +1,7 @@ +2013-05-19 Joseph Myers + + * sysdeps/ia64/fpu/libm-test-ulps: Update names of sincos tests. + 2013-03-12 Mike Frysinger * sysdeps/unix/sysv/linux/ia64/sysdep.h (INTERNAL_SYSCALL_DECL): Add diff --git a/ports/ChangeLog.m68k b/ports/ChangeLog.m68k index 16f3c75..a9502ca 100644 --- a/ports/ChangeLog.m68k +++ b/ports/ChangeLog.m68k @@ -1,3 +1,9 @@ +2013-05-19 Joseph Myers + + * sysdeps/m68k/coldfire/fpu/libm-test-ulps: Update names of sincos + tests. + * sysdeps/m68k/m680x0/fpu/libm-test-ulps: Likewise. + 2013-04-11 Andreas Schwab * sysdeps/m68k/m680x0/fpu/libm-test-ulps: Update diff --git a/ports/ChangeLog.microblaze b/ports/ChangeLog.microblaze index 4323270..11453f9 100644 --- a/ports/ChangeLog.microblaze +++ b/ports/ChangeLog.microblaze @@ -1,3 +1,7 @@ +2013-05-19 Joseph Myers + + * sysdeps/microblaze/libm-test-ulps: Update names of sincos tests. + 2013-03-28 David Holsgrove * sysdeps/microblaze/Implies: New file. diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips index 8640a12..2441127 100644 --- a/ports/ChangeLog.mips +++ b/ports/ChangeLog.mips @@ -1,3 +1,9 @@ +2013-05-19 Joseph Myers + + * sysdeps/mips/mips32/libm-test-ulps: Update names of sincos + tests. + * sysdeps/mips/mips64/libm-test-ulps: Likewise. + 2013-05-16 Maciej W. Rozycki [BZ #15442] diff --git a/ports/ChangeLog.powerpc b/ports/ChangeLog.powerpc index 073df4f..f60be33 100644 --- a/ports/ChangeLog.powerpc +++ b/ports/ChangeLog.powerpc @@ -1,3 +1,8 @@ +2013-05-19 Joseph Myers + + * sysdeps/powerpc/nofpu/libm-test-ulps: Update names of sincos + tests. + 2013-05-16 Maciej W. Rozycki [BZ #15442] diff --git a/ports/ChangeLog.tile b/ports/ChangeLog.tile index 5cfa0b1..4f22ba0 100644 --- a/ports/ChangeLog.tile +++ b/ports/ChangeLog.tile @@ -1,3 +1,7 @@ +2013-05-19 Joseph Myers + + * sysdeps/tile/libm-test-ulps: Update names of sincos tests. + 2013-05-16 Ryan S. Arnold * sysdeps/tile/tilegx/memusage.h: Add missing #include due diff --git a/ports/sysdeps/aarch64/libm-test-ulps b/ports/sysdeps/aarch64/libm-test-ulps index aebc46f..888595b 100644 --- a/ports/sysdeps/aarch64/libm-test-ulps +++ b/ports/sysdeps/aarch64/libm-test-ulps @@ -2998,21 +2998,21 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +idouble: 1 +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/ports/sysdeps/alpha/fpu/libm-test-ulps b/ports/sysdeps/alpha/fpu/libm-test-ulps index d546515..568d677 100644 --- a/ports/sysdeps/alpha/fpu/libm-test-ulps +++ b/ports/sysdeps/alpha/fpu/libm-test-ulps @@ -2676,21 +2676,21 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +idouble: 1 +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/ports/sysdeps/arm/libm-test-ulps b/ports/sysdeps/arm/libm-test-ulps index e0c7e0d..f141d09 100644 --- a/ports/sysdeps/arm/libm-test-ulps +++ b/ports/sysdeps/arm/libm-test-ulps @@ -1518,21 +1518,21 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +idouble: 1 +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/ports/sysdeps/hppa/fpu/libm-test-ulps b/ports/sysdeps/hppa/fpu/libm-test-ulps index f5469cf..d56dd66 100644 --- a/ports/sysdeps/hppa/fpu/libm-test-ulps +++ b/ports/sysdeps/hppa/fpu/libm-test-ulps @@ -3973,25 +3973,25 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 +float: 1 idouble: 1 +ifloat: 1 ildouble: 1 ldouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 2": double: 1 -float: 1 idouble: 1 -ifloat: 1 ildouble: 1 ldouble: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/ports/sysdeps/ia64/fpu/libm-test-ulps b/ports/sysdeps/ia64/fpu/libm-test-ulps index c5a2a08..da9c8fc 100644 --- a/ports/sysdeps/ia64/fpu/libm-test-ulps +++ b/ports/sysdeps/ia64/fpu/libm-test-ulps @@ -616,22 +616,22 @@ ildouble: 1 ldouble: 1 # sincos -Test "sincos (0.80190127184058835, &sin_res, &cos_res) puts 0.69534156199418473 in cos_res": +Test "sincos (0.80190127184058835) extra output 2": double: 1 idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +ildouble: 1 +ldouble: 1 +Test "sincos (M_PI_6l*2.0) extra output 2": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res": +Test "sincos (pi/2) extra output 2": double: 1 float: 1 idouble: 1 @@ -699,16 +699,16 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "y1 (1.5) == -0.412308626973911295952829820633445323": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "y1 (10.0) == 0.249015424206953883923283474663222803": double: 3 float: 1 idouble: 3 ifloat: 1 -Test "y1 (1.5) == -0.412308626973911295952829820633445323"; -float: 1 -ifloat: 1 -ildouble: 1 -ldouble: 1 Test "y1 (2.0) == -0.107032431540937546888370772277476637": double: 1 float: 1 @@ -758,16 +758,16 @@ double: 1 idouble: 1 ildouble: 1 ldouble: 1 +Test "yn (1, 1.5) == -0.412308626973911295952829820633445323": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "yn (1, 10.0) == 0.249015424206953883923283474663222803": double: 3 float: 1 idouble: 3 ifloat: 1 -Test "yn (1, 1.5) == -0.412308626973911295952829820633445323"; -float: 1 -ifloat: 1 -ldouble: 1 -ildouble: 1 Test "yn (1, 2.0) == -0.107032431540937546888370772277476637": double: 1 float: 1 diff --git a/ports/sysdeps/m68k/coldfire/fpu/libm-test-ulps b/ports/sysdeps/m68k/coldfire/fpu/libm-test-ulps index 8608c0d..727b06b 100644 --- a/ports/sysdeps/m68k/coldfire/fpu/libm-test-ulps +++ b/ports/sysdeps/m68k/coldfire/fpu/libm-test-ulps @@ -446,15 +446,15 @@ float: 1 ifloat: 1 # sincos -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +idouble: 1 +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps b/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps index 9b339fd..7bedb42 100644 --- a/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps +++ b/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps @@ -5701,21 +5701,21 @@ float: 1 ifloat: 1 # sincos -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 2": double: 1 float: 1 idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 -Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res": +Test "sincos (pi/2) extra output 2": double: 1 float: 1 idouble: 1 diff --git a/ports/sysdeps/microblaze/libm-test-ulps b/ports/sysdeps/microblaze/libm-test-ulps index 9fde9b1..d369b08 100644 --- a/ports/sysdeps/microblaze/libm-test-ulps +++ b/ports/sysdeps/microblaze/libm-test-ulps @@ -1210,21 +1210,21 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +idouble: 1 +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/ports/sysdeps/mips/mips32/libm-test-ulps b/ports/sysdeps/mips/mips32/libm-test-ulps index e0c7e0d..f141d09 100644 --- a/ports/sysdeps/mips/mips32/libm-test-ulps +++ b/ports/sysdeps/mips/mips32/libm-test-ulps @@ -1518,21 +1518,21 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +idouble: 1 +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/ports/sysdeps/mips/mips64/libm-test-ulps b/ports/sysdeps/mips/mips64/libm-test-ulps index c7a18d6..a3e0393 100644 --- a/ports/sysdeps/mips/mips64/libm-test-ulps +++ b/ports/sysdeps/mips/mips64/libm-test-ulps @@ -2510,21 +2510,21 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +idouble: 1 +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/ports/sysdeps/powerpc/nofpu/libm-test-ulps b/ports/sysdeps/powerpc/nofpu/libm-test-ulps index 652cad3..77cbf74 100644 --- a/ports/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/ports/sysdeps/powerpc/nofpu/libm-test-ulps @@ -2114,21 +2114,21 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +idouble: 1 +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/ports/sysdeps/tile/libm-test-ulps b/ports/sysdeps/tile/libm-test-ulps index eddae42..aecaa06 100644 --- a/ports/sysdeps/tile/libm-test-ulps +++ b/ports/sysdeps/tile/libm-test-ulps @@ -1271,21 +1271,21 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +idouble: 1 +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 3b8f2af..94580f7 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -5863,31 +5863,31 @@ float: 1 ifloat: 1 # sincos -Test "sincos (-0x1p65, &sin_res, &cos_res) puts 0.047183876212354673805106149805700013943218 in sin_res": +Test "sincos (-0x1p65) extra output 1": float: 1 ifloat: 1 -Test "sincos (0x1.fffff8p+127, &sin_res, &cos_res) puts 4.85786063130487339701113680434728152037092e-02 in sin_res": +Test "sincos (0x1.fffff8p+127) extra output 1": float: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 6.23385512955870240370428801097126489001833e-01 in sin_res": +Test "sincos (0x1p+127) extra output 1": float: 1 -Test "sincos (0x1p+50, &sin_res, &cos_res) puts 8.68095904660550604334592502063501320395739e-01 in cos_res": +Test "sincos (0x1p+50) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p65, &sin_res, &cos_res) puts -0.047183876212354673805106149805700013943218 in sin_res": +Test "sincos (0x1p65) extra output 1": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +ildouble: 1 +ldouble: 1 +Test "sincos (M_PI_6l*2.0) extra output 2": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 # sinh Test "sinh (0.75) == 0.822316731935829980703661634446913849": diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index 18927b4..1c6f8fd 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -6289,28 +6289,28 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 2": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res": +Test "sincos (pi/2) extra output 2": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 1015ca0..f430e54 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -2774,21 +2774,21 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +idouble: 1 +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/sysdeps/sh/sh4/fpu/libm-test-ulps b/sysdeps/sh/sh4/fpu/libm-test-ulps index eb17664..09d8a94 100644 --- a/sysdeps/sh/sh4/fpu/libm-test-ulps +++ b/sysdeps/sh/sh4/fpu/libm-test-ulps @@ -563,27 +563,27 @@ idouble: 1 ifloat: 1 # sincos -Test "sincos (0.7, &sin_res, &cos_res) puts 0.76484218728448842626 in cos_res": +Test "sincos (0.7) extra output 2": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -float: 0.5 -idouble: 1 -ifloat: 0.5 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.866025403784438646764 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +float: 0.5 +idouble: 1 +ifloat: 0.5 +Test "sincos (pi/2) extra output 2": double: 0.2758 float: 0.3667 idouble: 0.2758 ifloat: 0.3667 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.866025403784438646764 in cos_res": +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index ad7afc8..ed28eea 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -8132,21 +8132,21 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0x1p+120, &sin_res, &cos_res) puts -9.25879022854837867303861764107414946730833e-01 in cos_res": +Test "sincos (0x1p+120) extra output 2": float: 1 ifloat: 1 -Test "sincos (0x1p+127, &sin_res, &cos_res) puts 7.81914638714960072263910298466369236613162e-01 in cos_res": +Test "sincos (0x1p+127) extra output 2": float: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": -double: 1 -idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 2": +double: 1 +idouble: 1 +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1 diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 3827b9d..7476f85 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -6936,22 +6936,22 @@ float: 1 ifloat: 1 # sincos -Test "sincos (0.80190127184058835, &sin_res, &cos_res) puts 0.69534156199418473 in cos_res": +Test "sincos (0.80190127184058835) extra output 2": double: 1 idouble: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": +Test "sincos (M_PI_6l*2.0) extra output 1": double: 1 float: 1 idouble: 1 ifloat: 1 -Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res": +ildouble: 1 +ldouble: 1 +Test "sincos (M_PI_6l*2.0) extra output 2": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 -Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res": +Test "sincos (pi/6) extra output 2": float: 1 ifloat: 1