summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
Diffstat (limited to 'math')
-rw-r--r--math/libm-test.inc33
1 files changed, 19 insertions, 14 deletions
diff --git a/math/libm-test.inc b/math/libm-test.inc
index aa7ba2b765..2f3902a445 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -1461,9 +1461,9 @@ struct test_fFF_11_data
(ARRAY)[i].RM_##ROUNDING_MODE.extra_test, \
(ARRAY)[i].RM_##ROUNDING_MODE.extra_expected); \
ROUND_RESTORE_ ## ROUNDING_MODE
-#define RUN_TEST_ffI_f1(ARG_STR, FUNC_NAME, ARG1, ARG2, EXPECTED, \
- EXCEPTIONS, EXTRA_VAR, EXTRA_TEST, \
- EXTRA_EXPECTED) \
+#define RUN_TEST_ffI_f1_mod8(ARG_STR, FUNC_NAME, ARG1, ARG2, EXPECTED, \
+ EXCEPTIONS, EXTRA_VAR, EXTRA_TEST, \
+ EXTRA_EXPECTED) \
do \
if (enable_test (EXCEPTIONS)) \
{ \
@@ -1474,22 +1474,22 @@ struct test_fFF_11_data
EXPECTED, EXCEPTIONS); \
EXTRA_OUTPUT_TEST_SETUP (ARG_STR, 1); \
if (EXTRA_TEST) \
- check_int (extra1_name, EXTRA_VAR, EXTRA_EXPECTED, 0); \
+ check_int (extra1_name, (EXTRA_VAR) % 8, EXTRA_EXPECTED, 0); \
EXTRA_OUTPUT_TEST_CLEANUP (1); \
COMMON_TEST_CLEANUP; \
} \
while (0)
-#define RUN_TEST_LOOP_ffI_f1(FUNC_NAME, ARRAY, ROUNDING_MODE, \
- EXTRA_VAR) \
+#define RUN_TEST_LOOP_ffI_f1_mod8(FUNC_NAME, ARRAY, ROUNDING_MODE, \
+ EXTRA_VAR) \
IF_ROUND_INIT_ ## ROUNDING_MODE \
for (size_t i = 0; i < sizeof (ARRAY) / sizeof (ARRAY)[0]; i++) \
- RUN_TEST_ffI_f1 ((ARRAY)[i].arg_str, FUNC_NAME, \
- (ARRAY)[i].arg1, (ARRAY)[i].arg2, \
- (ARRAY)[i].RM_##ROUNDING_MODE.expected, \
- (ARRAY)[i].RM_##ROUNDING_MODE.exceptions, \
- EXTRA_VAR, \
- (ARRAY)[i].RM_##ROUNDING_MODE.extra_test, \
- (ARRAY)[i].RM_##ROUNDING_MODE.extra_expected); \
+ RUN_TEST_ffI_f1_mod8 ((ARRAY)[i].arg_str, FUNC_NAME, \
+ (ARRAY)[i].arg1, (ARRAY)[i].arg2, \
+ (ARRAY)[i].RM_##ROUNDING_MODE.expected, \
+ (ARRAY)[i].RM_##ROUNDING_MODE.exceptions, \
+ EXTRA_VAR, \
+ (ARRAY)[i].RM_##ROUNDING_MODE.extra_test, \
+ (ARRAY)[i].RM_##ROUNDING_MODE.extra_expected); \
ROUND_RESTORE_ ## ROUNDING_MODE
#define RUN_TEST_c_c(ARG_STR, FUNC_NAME, ARGR, ARGC, EXPR, EXPC, \
EXCEPTIONS) \
@@ -8759,6 +8759,11 @@ static const struct test_ffI_f1_data remquo_test_data[] =
TEST_ffI_f1 (remquo, 5, 2, 1, 2, NO_INEXACT_EXCEPTION),
TEST_ffI_f1 (remquo, 3, 2, -1, 2, NO_INEXACT_EXCEPTION),
+
+ TEST_ffI_f1 (remquo, 3419, 360, 179, 1, NO_INEXACT_EXCEPTION),
+ TEST_ffI_f1 (remquo, -3419, 360, -179, -1, NO_INEXACT_EXCEPTION),
+ TEST_ffI_f1 (remquo, 3419, -360, 179, -1, NO_INEXACT_EXCEPTION),
+ TEST_ffI_f1 (remquo, -3419, -360, -179, 1, NO_INEXACT_EXCEPTION),
};
static void
@@ -8766,7 +8771,7 @@ remquo_test (void)
{
int x;
- ALL_RM_TEST (remquo, 1, remquo_test_data, RUN_TEST_LOOP_ffI_f1, END, x);
+ ALL_RM_TEST (remquo, 1, remquo_test_data, RUN_TEST_LOOP_ffI_f1_mod8, END, x);
}
static const struct test_f_f_data rint_test_data[] =