From 9962a2d34e2478bd05a8a08e537a1e2b6897adb2 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 17 Mar 2014 12:29:26 +0000 Subject: Add libm-test support for per-rounding-mode manually specified results. This patch continues the libm-test move towards automatic testing of all test inputs in all rounding modes by adding gen-libm-test.pl support for tests specifying results in each rounding mode manually. Previously a TEST_* line could specify arguments and results, or arguments, results and flags. Now there is the option of (arguments, results-rd, flags-rd, results-rn, flags-rn, results-rz, flags-rz, results-ru, flags-ru). This is used to replace the separate arrays of results in each rounding mode for lrint, llrint and rint. (In the case of rint, some tests were only in rint_test_data and needed to have expectations for non-default rounding modes added, which I did manually. In various cases there were slight differences in things such as the ordering of tests in the arrays for each mode.) Tested x86_64 and x86. * math/gen-libm-test.pl (parse_args): Handle results specified for each rounding mode separately. * math/libm-test.inc (lrint_test_data): Merge in per-rounding-mode tests and results from lrint_tonearest_test_data, lrint_towardzero_test_data, lrint_downward_test_data and lrint_upward_test_data. (lrint_test): Use ALL_RM_TEST. (lrint_tonearest_test_data): Remove. (lrint_test_tonearest): Likewise. (lrint_towardzero_test_data): Likewise. (lrint_test_towardzero): Likewise. (lrint_downward_test_data): Likewise. (lrint_test_downward): Likewise. (lrint_upward_test_data): Likewise. (lrint_test_upward): Likewise. (llrint_test_data): Merge in per-rounding-mode tests and results from llrint_tonearest_test_data, llrint_towardzero_test_data, llrint_downward_test_data and llrint_upward_test_data. (llrint_test): Use ALL_RM_TEST. (llrint_tonearest_test_data): Remove. (llrint_test_tonearest): Likewise. (llrint_towardzero_test_data): Likewise. (llrint_test_towardzero): Likewise. (llrint_downward_test_data): Likewise. (llrint_test_downward): Likewise. (llrint_upward_test_data): Likewise. (llrint_test_upward): Likewise. (rint_test_data): Merge in per-rounding-mode tests and results from rint_tonearest_test_data, rint_towardzero_test_data, rint_downward_test_data and rint_upward_test_data. Add per-rounding-mode results for tests not in those arrays. (rint_test): Use ALL_RM_TEST. (rint_tonearest_test_data): Remove. (rint_test_tonearest): Likewise. (rint_towardzero_test_data): Likewise. (rint_test_towardzero): Likewise. (rint_downward_test_data): Likewise. (rint_test_downward): Likewise. (rint_upward_test_data): Likewise. (rint_test_upward): Likewise. (main): Don't call removed functions. --- ChangeLog | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index d0011133d5..1c6b384be2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,47 @@ +2014-03-17 Joseph Myers + + * math/gen-libm-test.pl (parse_args): Handle results specified for + each rounding mode separately. + * math/libm-test.inc (lrint_test_data): Merge in per-rounding-mode + tests and results from lrint_tonearest_test_data, + lrint_towardzero_test_data, lrint_downward_test_data and + lrint_upward_test_data. + (lrint_test): Use ALL_RM_TEST. + (lrint_tonearest_test_data): Remove. + (lrint_test_tonearest): Likewise. + (lrint_towardzero_test_data): Likewise. + (lrint_test_towardzero): Likewise. + (lrint_downward_test_data): Likewise. + (lrint_test_downward): Likewise. + (lrint_upward_test_data): Likewise. + (lrint_test_upward): Likewise. + (llrint_test_data): Merge in per-rounding-mode tests and results + from llrint_tonearest_test_data, llrint_towardzero_test_data, + llrint_downward_test_data and llrint_upward_test_data. + (llrint_test): Use ALL_RM_TEST. + (llrint_tonearest_test_data): Remove. + (llrint_test_tonearest): Likewise. + (llrint_towardzero_test_data): Likewise. + (llrint_test_towardzero): Likewise. + (llrint_downward_test_data): Likewise. + (llrint_test_downward): Likewise. + (llrint_upward_test_data): Likewise. + (llrint_test_upward): Likewise. + (rint_test_data): Merge in per-rounding-mode tests and results + from rint_tonearest_test_data, rint_towardzero_test_data, + rint_downward_test_data and rint_upward_test_data. Add + per-rounding-mode results for tests not in those arrays. + (rint_test): Use ALL_RM_TEST. + (rint_tonearest_test_data): Remove. + (rint_test_tonearest): Likewise. + (rint_towardzero_test_data): Likewise. + (rint_test_towardzero): Likewise. + (rint_downward_test_data): Likewise. + (rint_test_downward): Likewise. + (rint_upward_test_data): Likewise. + (rint_test_upward): Likewise. + (main): Don't call removed functions. + 2014-03-14 Roland McGrath * csu/Makefile ($(objpfx)version-info.h): Remove linux-specific -- cgit 1.4.1