Handle sincos with generic libm-test logic.

This commit is contained in:
Joseph Myers 2013-05-19 14:45:41 +00:00
parent f16cc3eb81
commit db62a90753
32 changed files with 260 additions and 225 deletions

View file

@ -1,5 +1,25 @@
2013-05-19 Joseph Myers <joseph@codesourcery.com>
* 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

View file

@ -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".

View file

@ -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];

View file

@ -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);
}

View file

@ -1,3 +1,7 @@
2013-05-19 Joseph Myers <joseph@codesourcery.com>
* sysdeps/aarch64/libm-test-ulps: Update names of sincos tests.
2013-05-16 Maciej W. Rozycki <macro@codesourcery.com>
[BZ #15442]

View file

@ -1,3 +1,7 @@
2013-05-19 Joseph Myers <joseph@codesourcery.com>
* sysdeps/alpha/fpu/libm-test-ulps: Update names of sincos tests.
2013-05-16 Maciej W. Rozycki <macro@codesourcery.com>
[BZ #15442]

View file

@ -1,3 +1,7 @@
2013-05-19 Joseph Myers <joseph@codesourcery.com>
* sysdeps/arm/libm-test-ulps: Update names of sincos tests.
2013-05-16 Ryan S. Arnold <rsa@linux.vnet.ibm.com>
* sysdeps/unix/sysv/linux/arm/bits/atomic.h: Add missing #include

View file

@ -1,3 +1,7 @@
2013-05-19 Joseph Myers <joseph@codesourcery.com>
* sysdeps/hppa/fpu/libm-test-ulps: Update names of sincos tests.
2013-05-15 Carlos O'Donell <carlos@redhat.com>
* sysdeps/hppa/fpu/libm-test-ulps: Remove old values for ceil, floor,

View file

@ -1,3 +1,7 @@
2013-05-19 Joseph Myers <joseph@codesourcery.com>
* sysdeps/ia64/fpu/libm-test-ulps: Update names of sincos tests.
2013-03-12 Mike Frysinger <vapier@gentoo.org>
* sysdeps/unix/sysv/linux/ia64/sysdep.h (INTERNAL_SYSCALL_DECL): Add

View file

@ -1,3 +1,9 @@
2013-05-19 Joseph Myers <joseph@codesourcery.com>
* 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 <schwab@suse.de>
* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Update

View file

@ -1,3 +1,7 @@
2013-05-19 Joseph Myers <joseph@codesourcery.com>
* sysdeps/microblaze/libm-test-ulps: Update names of sincos tests.
2013-03-28 David Holsgrove <david.holsgrove@xilinx.com>
* sysdeps/microblaze/Implies: New file.

View file

@ -1,3 +1,9 @@
2013-05-19 Joseph Myers <joseph@codesourcery.com>
* sysdeps/mips/mips32/libm-test-ulps: Update names of sincos
tests.
* sysdeps/mips/mips64/libm-test-ulps: Likewise.
2013-05-16 Maciej W. Rozycki <macro@codesourcery.com>
[BZ #15442]

View file

@ -1,3 +1,8 @@
2013-05-19 Joseph Myers <joseph@codesourcery.com>
* sysdeps/powerpc/nofpu/libm-test-ulps: Update names of sincos
tests.
2013-05-16 Maciej W. Rozycki <macro@codesourcery.com>
[BZ #15442]

View file

@ -1,3 +1,7 @@
2013-05-19 Joseph Myers <joseph@codesourcery.com>
* sysdeps/tile/libm-test-ulps: Update names of sincos tests.
2013-05-16 Ryan S. Arnold <rsa@linux.vnet.ibm.com>
* sysdeps/tile/tilegx/memusage.h: Add missing #include <stdint.h> due

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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":
double: 1
idouble: 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 1":
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 (M_PI_6l*2.0) extra output 2":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
Test "sincos (pi/6) extra output 2":
float: 1
ifloat: 1

View file

@ -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":
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 1":
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 (M_PI_6l*2.0) extra output 2":
double: 1
float: 1
idouble: 1
ifloat: 1
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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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":
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 1":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "sincos (M_PI_6l*2.0) extra output 2":
double: 1
float: 1
idouble: 1
ifloat: 1
# sinh
Test "sinh (0.75) == 0.822316731935829980703661634446913849":

View file

@ -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

View file

@ -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

View file

@ -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":
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) extra output 2":
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":
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: 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

View file

@ -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

View file

@ -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":
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 1":
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 (M_PI_6l*2.0) extra output 2":
double: 1
float: 1
idouble: 1
ifloat: 1
Test "sincos (pi/6) extra output 2":
float: 1
ifloat: 1