mirror of
https://sourceware.org/git/glibc.git
synced 2025-10-20 03:52:29 +03:00
Simplify libm-test extra-output initialization.
This commit is contained in:
19
ChangeLog
19
ChangeLog
@@ -1,5 +1,24 @@
|
|||||||
2013-05-17 Joseph Myers <joseph@codesourcery.com>
|
2013-05-17 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* math/libm-test.inc (struct test_f_f1_data): Remove field
|
||||||
|
extra_init.
|
||||||
|
(struct test_fF_f1_data): Likewise.
|
||||||
|
(struct test_ffI_f1_data): Likewise.
|
||||||
|
(RUN_TEST_f_f1): Remove argument EXTRA_INIT. Initialize EXTRA_VAR
|
||||||
|
based on value of EXTRA_EXPECTED.
|
||||||
|
(RUN_TEST_LOOP_f_f1): Update call to RUN_TEST_f_f1.
|
||||||
|
(RUN_TEST_fF_f1): Remove argument EXTRA_INIT. Initialize
|
||||||
|
EXTRA_VAR based on value of EXTRA_EXPECTED.
|
||||||
|
(RUN_TEST_LOOP_fF_f1): Update call to RUN_TEST_fF_f1.
|
||||||
|
(RUN_TEST_fI_f1): Remove argument EXTRA_INIT. Initialize
|
||||||
|
EXTRA_VAR based on value of EXTRA_EXPECTED.
|
||||||
|
(RUN_TEST_LOOP_fI_f1): Update call to RUN_TEST_fI_f1.
|
||||||
|
(RUN_TEST_ffI_f1): Remove argument EXTRA_INIT. Initialize
|
||||||
|
EXTRA_VAR based on value of EXTRA_EXPECTED.
|
||||||
|
(RUN_TEST_LOOP_ffI_f1): Update call to RUN_TEST_ffI_f1.
|
||||||
|
* math/gen-libm-test.pl (parse_args): Don't output initializers
|
||||||
|
for extra output values.
|
||||||
|
|
||||||
* math/libm-test.inc (check_int): Expect result to be exactly
|
* math/libm-test.inc (check_int): Expect result to be exactly
|
||||||
equal to expected value and do not handle ulps.
|
equal to expected value and do not handle ulps.
|
||||||
(check_long): Likewise.
|
(check_long): Likewise.
|
||||||
|
@@ -345,7 +345,7 @@ sub parse_args {
|
|||||||
$str = "";
|
$str = "";
|
||||||
$extra_expected = "0";
|
$extra_expected = "0";
|
||||||
}
|
}
|
||||||
$cline .= ", \"$str\", 123456789, $run_extra, $extra_expected";
|
$cline .= ", \"$str\", $run_extra, $extra_expected";
|
||||||
if ($run_extra) {
|
if ($run_extra) {
|
||||||
$cline .= &new_test ($str, undef, 0);
|
$cline .= &new_test ($str, undef, 0);
|
||||||
} else {
|
} else {
|
||||||
@@ -361,7 +361,7 @@ sub parse_args {
|
|||||||
$str = "";
|
$str = "";
|
||||||
$extra_expected = "0";
|
$extra_expected = "0";
|
||||||
}
|
}
|
||||||
$cline .= ", \"$str\", 0, $run_extra, $extra_expected";
|
$cline .= ", \"$str\", $run_extra, $extra_expected";
|
||||||
if ($run_extra) {
|
if ($run_extra) {
|
||||||
$cline .= &new_test ($str, undef, 0);
|
$cline .= &new_test ($str, undef, 0);
|
||||||
} else {
|
} else {
|
||||||
@@ -377,7 +377,7 @@ sub parse_args {
|
|||||||
$str = "";
|
$str = "";
|
||||||
$extra_expected = "0";
|
$extra_expected = "0";
|
||||||
}
|
}
|
||||||
$cline .= ", \"$str\", 123.456789, $run_extra, $extra_expected";
|
$cline .= ", \"$str\", $run_extra, $extra_expected";
|
||||||
if ($run_extra) {
|
if ($run_extra) {
|
||||||
$cline .= &new_test ($str, undef, 0);
|
$cline .= &new_test ($str, undef, 0);
|
||||||
} else {
|
} else {
|
||||||
@@ -393,7 +393,7 @@ sub parse_args {
|
|||||||
$str = "";
|
$str = "";
|
||||||
$extra_expected = "0";
|
$extra_expected = "0";
|
||||||
}
|
}
|
||||||
$cline .= ", \"$str\", 123456789, $run_extra, $extra_expected";
|
$cline .= ", \"$str\", $run_extra, $extra_expected";
|
||||||
if ($run_extra) {
|
if ($run_extra) {
|
||||||
$cline .= &new_test ($str, undef, 0);
|
$cline .= &new_test ($str, undef, 0);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -928,7 +928,6 @@ struct test_f_f1_data
|
|||||||
FLOAT max_ulp;
|
FLOAT max_ulp;
|
||||||
int exceptions;
|
int exceptions;
|
||||||
const char *extra_name;
|
const char *extra_name;
|
||||||
int extra_init;
|
|
||||||
int extra_test;
|
int extra_test;
|
||||||
int extra_expected;
|
int extra_expected;
|
||||||
int extra_ulp;
|
int extra_ulp;
|
||||||
@@ -941,7 +940,6 @@ struct test_fF_f1_data
|
|||||||
FLOAT max_ulp;
|
FLOAT max_ulp;
|
||||||
int exceptions;
|
int exceptions;
|
||||||
const char *extra_name;
|
const char *extra_name;
|
||||||
FLOAT extra_init;
|
|
||||||
int extra_test;
|
int extra_test;
|
||||||
FLOAT extra_expected;
|
FLOAT extra_expected;
|
||||||
FLOAT extra_ulp;
|
FLOAT extra_ulp;
|
||||||
@@ -954,7 +952,6 @@ struct test_ffI_f1_data
|
|||||||
FLOAT max_ulp;
|
FLOAT max_ulp;
|
||||||
int exceptions;
|
int exceptions;
|
||||||
const char *extra_name;
|
const char *extra_name;
|
||||||
int extra_init;
|
|
||||||
int extra_test;
|
int extra_test;
|
||||||
int extra_expected;
|
int extra_expected;
|
||||||
int extra_ulp;
|
int extra_ulp;
|
||||||
@@ -1101,19 +1098,19 @@ struct test_sincos_data
|
|||||||
(ARRAY)[i].argc, (ARRAY)[i].expected, \
|
(ARRAY)[i].argc, (ARRAY)[i].expected, \
|
||||||
(ARRAY)[i].max_ulp, (ARRAY)[i].exceptions); \
|
(ARRAY)[i].max_ulp, (ARRAY)[i].exceptions); \
|
||||||
ROUND_RESTORE_ ## ROUNDING_MODE
|
ROUND_RESTORE_ ## ROUNDING_MODE
|
||||||
#define RUN_TEST_f_f1(TEST_NAME, FUNC_NAME, ARG, EXPECTED, \
|
#define RUN_TEST_f_f1(TEST_NAME, FUNC_NAME, ARG, EXPECTED, \
|
||||||
MAX_ULP, EXCEPTIONS, \
|
MAX_ULP, EXCEPTIONS, \
|
||||||
EXTRA_NAME, EXTRA_VAR, EXTRA_INIT, EXTRA_TEST, \
|
EXTRA_NAME, EXTRA_VAR, EXTRA_TEST, \
|
||||||
EXTRA_EXPECTED, EXTRA_ULP) \
|
EXTRA_EXPECTED, EXTRA_ULP) \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
(EXTRA_VAR) = (EXTRA_INIT); \
|
(EXTRA_VAR) = (EXTRA_EXPECTED) == 0 ? 1 : 0; \
|
||||||
check_float (TEST_NAME, FUNC (FUNC_NAME) (ARG), EXPECTED, \
|
check_float (TEST_NAME, FUNC (FUNC_NAME) (ARG), EXPECTED, \
|
||||||
MAX_ULP, EXCEPTIONS); \
|
MAX_ULP, EXCEPTIONS); \
|
||||||
if (EXTRA_TEST) \
|
if (EXTRA_TEST) \
|
||||||
check_int (EXTRA_NAME, EXTRA_VAR, EXTRA_EXPECTED, \
|
check_int (EXTRA_NAME, EXTRA_VAR, EXTRA_EXPECTED, \
|
||||||
EXTRA_ULP, 0); \
|
EXTRA_ULP, 0); \
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
#define RUN_TEST_LOOP_f_f1(FUNC_NAME, ARRAY, ROUNDING_MODE, EXTRA_VAR) \
|
#define RUN_TEST_LOOP_f_f1(FUNC_NAME, ARRAY, ROUNDING_MODE, EXTRA_VAR) \
|
||||||
IF_ROUND_INIT_ ## ROUNDING_MODE \
|
IF_ROUND_INIT_ ## ROUNDING_MODE \
|
||||||
@@ -1121,17 +1118,16 @@ struct test_sincos_data
|
|||||||
RUN_TEST_f_f1 ((ARRAY)[i].test_name, FUNC_NAME, (ARRAY)[i].arg, \
|
RUN_TEST_f_f1 ((ARRAY)[i].test_name, FUNC_NAME, (ARRAY)[i].arg, \
|
||||||
(ARRAY)[i].expected, (ARRAY)[i].max_ulp, \
|
(ARRAY)[i].expected, (ARRAY)[i].max_ulp, \
|
||||||
(ARRAY)[i].exceptions, (ARRAY)[i].extra_name, \
|
(ARRAY)[i].exceptions, (ARRAY)[i].extra_name, \
|
||||||
EXTRA_VAR, (ARRAY)[i].extra_init, \
|
EXTRA_VAR, (ARRAY)[i].extra_test, \
|
||||||
(ARRAY)[i].extra_test, (ARRAY)[i].extra_expected, \
|
(ARRAY)[i].extra_expected, (ARRAY)[i].extra_ulp); \
|
||||||
(ARRAY)[i].extra_ulp); \
|
|
||||||
ROUND_RESTORE_ ## ROUNDING_MODE
|
ROUND_RESTORE_ ## ROUNDING_MODE
|
||||||
#define RUN_TEST_fF_f1(TEST_NAME, FUNC_NAME, ARG, EXPECTED, \
|
#define RUN_TEST_fF_f1(TEST_NAME, FUNC_NAME, ARG, EXPECTED, \
|
||||||
MAX_ULP, EXCEPTIONS, \
|
MAX_ULP, EXCEPTIONS, \
|
||||||
EXTRA_NAME, EXTRA_VAR, EXTRA_INIT, EXTRA_TEST, \
|
EXTRA_NAME, EXTRA_VAR, EXTRA_TEST, \
|
||||||
EXTRA_EXPECTED, EXTRA_ULP) \
|
EXTRA_EXPECTED, EXTRA_ULP) \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
(EXTRA_VAR) = (EXTRA_INIT); \
|
(EXTRA_VAR) = (EXTRA_EXPECTED) == 0 ? 1 : 0; \
|
||||||
check_float (TEST_NAME, FUNC (FUNC_NAME) (ARG, &(EXTRA_VAR)), \
|
check_float (TEST_NAME, FUNC (FUNC_NAME) (ARG, &(EXTRA_VAR)), \
|
||||||
EXPECTED, MAX_ULP, EXCEPTIONS); \
|
EXPECTED, MAX_ULP, EXCEPTIONS); \
|
||||||
if (EXTRA_TEST) \
|
if (EXTRA_TEST) \
|
||||||
@@ -1145,17 +1141,16 @@ struct test_sincos_data
|
|||||||
RUN_TEST_fF_f1 ((ARRAY)[i].test_name, FUNC_NAME, (ARRAY)[i].arg, \
|
RUN_TEST_fF_f1 ((ARRAY)[i].test_name, FUNC_NAME, (ARRAY)[i].arg, \
|
||||||
(ARRAY)[i].expected, (ARRAY)[i].max_ulp, \
|
(ARRAY)[i].expected, (ARRAY)[i].max_ulp, \
|
||||||
(ARRAY)[i].exceptions, (ARRAY)[i].extra_name, \
|
(ARRAY)[i].exceptions, (ARRAY)[i].extra_name, \
|
||||||
EXTRA_VAR, (ARRAY)[i].extra_init, \
|
EXTRA_VAR, (ARRAY)[i].extra_test, \
|
||||||
(ARRAY)[i].extra_test, (ARRAY)[i].extra_expected, \
|
(ARRAY)[i].extra_expected, (ARRAY)[i].extra_ulp); \
|
||||||
(ARRAY)[i].extra_ulp); \
|
|
||||||
ROUND_RESTORE_ ## ROUNDING_MODE
|
ROUND_RESTORE_ ## ROUNDING_MODE
|
||||||
#define RUN_TEST_fI_f1(TEST_NAME, FUNC_NAME, ARG, EXPECTED, \
|
#define RUN_TEST_fI_f1(TEST_NAME, FUNC_NAME, ARG, EXPECTED, \
|
||||||
MAX_ULP, EXCEPTIONS, \
|
MAX_ULP, EXCEPTIONS, \
|
||||||
EXTRA_NAME, EXTRA_VAR, EXTRA_INIT, EXTRA_TEST, \
|
EXTRA_NAME, EXTRA_VAR, EXTRA_TEST, \
|
||||||
EXTRA_EXPECTED, EXTRA_ULP) \
|
EXTRA_EXPECTED, EXTRA_ULP) \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
(EXTRA_VAR) = (EXTRA_INIT); \
|
(EXTRA_VAR) = (EXTRA_EXPECTED) == 0 ? 1 : 0; \
|
||||||
check_float (TEST_NAME, FUNC (FUNC_NAME) (ARG, &(EXTRA_VAR)), \
|
check_float (TEST_NAME, FUNC (FUNC_NAME) (ARG, &(EXTRA_VAR)), \
|
||||||
EXPECTED, MAX_ULP, EXCEPTIONS); \
|
EXPECTED, MAX_ULP, EXCEPTIONS); \
|
||||||
if (EXTRA_TEST) \
|
if (EXTRA_TEST) \
|
||||||
@@ -1169,17 +1164,16 @@ struct test_sincos_data
|
|||||||
RUN_TEST_fI_f1 ((ARRAY)[i].test_name, FUNC_NAME, (ARRAY)[i].arg, \
|
RUN_TEST_fI_f1 ((ARRAY)[i].test_name, FUNC_NAME, (ARRAY)[i].arg, \
|
||||||
(ARRAY)[i].expected, (ARRAY)[i].max_ulp, \
|
(ARRAY)[i].expected, (ARRAY)[i].max_ulp, \
|
||||||
(ARRAY)[i].exceptions, (ARRAY)[i].extra_name, \
|
(ARRAY)[i].exceptions, (ARRAY)[i].extra_name, \
|
||||||
EXTRA_VAR, (ARRAY)[i].extra_init, \
|
EXTRA_VAR, (ARRAY)[i].extra_test, \
|
||||||
(ARRAY)[i].extra_test, (ARRAY)[i].extra_expected, \
|
(ARRAY)[i].extra_expected, (ARRAY)[i].extra_ulp); \
|
||||||
(ARRAY)[i].extra_ulp); \
|
|
||||||
ROUND_RESTORE_ ## ROUNDING_MODE
|
ROUND_RESTORE_ ## ROUNDING_MODE
|
||||||
#define RUN_TEST_ffI_f1(TEST_NAME, FUNC_NAME, ARG1, ARG2, EXPECTED, \
|
#define RUN_TEST_ffI_f1(TEST_NAME, FUNC_NAME, ARG1, ARG2, EXPECTED, \
|
||||||
MAX_ULP, EXCEPTIONS, \
|
MAX_ULP, EXCEPTIONS, \
|
||||||
EXTRA_NAME, EXTRA_VAR, EXTRA_INIT, EXTRA_TEST, \
|
EXTRA_NAME, EXTRA_VAR, EXTRA_TEST, \
|
||||||
EXTRA_EXPECTED, EXTRA_ULP) \
|
EXTRA_EXPECTED, EXTRA_ULP) \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
(EXTRA_VAR) = (EXTRA_INIT); \
|
(EXTRA_VAR) = (EXTRA_EXPECTED) == 0 ? 1 : 0; \
|
||||||
check_float (TEST_NAME, \
|
check_float (TEST_NAME, \
|
||||||
FUNC (FUNC_NAME) (ARG1, ARG2, &(EXTRA_VAR)), \
|
FUNC (FUNC_NAME) (ARG1, ARG2, &(EXTRA_VAR)), \
|
||||||
EXPECTED, MAX_ULP, EXCEPTIONS); \
|
EXPECTED, MAX_ULP, EXCEPTIONS); \
|
||||||
@@ -1196,8 +1190,7 @@ struct test_sincos_data
|
|||||||
(ARRAY)[i].arg1, (ARRAY)[i].arg2, \
|
(ARRAY)[i].arg1, (ARRAY)[i].arg2, \
|
||||||
(ARRAY)[i].expected, (ARRAY)[i].max_ulp, \
|
(ARRAY)[i].expected, (ARRAY)[i].max_ulp, \
|
||||||
(ARRAY)[i].exceptions, (ARRAY)[i].extra_name, \
|
(ARRAY)[i].exceptions, (ARRAY)[i].extra_name, \
|
||||||
EXTRA_VAR, (ARRAY)[i].extra_init, \
|
EXTRA_VAR, (ARRAY)[i].extra_test, \
|
||||||
(ARRAY)[i].extra_test, \
|
|
||||||
(ARRAY)[i].extra_expected, \
|
(ARRAY)[i].extra_expected, \
|
||||||
(ARRAY)[i].extra_ulp); \
|
(ARRAY)[i].extra_ulp); \
|
||||||
ROUND_RESTORE_ ## ROUNDING_MODE
|
ROUND_RESTORE_ ## ROUNDING_MODE
|
||||||
|
Reference in New Issue
Block a user