Page MenuHomeFreeBSD

D29039.diff
No OneTemporary

D29039.diff

diff --git a/lib/msun/tests/logarithm_test.c b/lib/msun/tests/logarithm_test.c
--- a/lib/msun/tests/logarithm_test.c
+++ b/lib/msun/tests/logarithm_test.c
@@ -212,6 +212,17 @@
};
unsigned i;
+ long double log1p_ldbl_ulp = LDBL_ULP();
+#if LDBL_MANT_DIG > 64
+ /*
+ * On ld128 platforms the log1p() implementation provides less accuracy,
+ * but does still match the ld80 precision. Use the ld80 LDBL_ULP()
+ * value for now to avoid losing test coverage for the other functions.
+ * Reported as https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253984
+ */
+ log1p_ldbl_ulp = ldexpl(1.0, 1 - 64);
+#endif
+
for (i = 0; i < nitems(tests); i++) {
test_tol(log2, tests[i].x, tests[i].log2x, DBL_ULP());
test_tol(log2f, tests[i].x, tests[i].log2x, FLT_ULP());
@@ -228,7 +239,7 @@
test_tol(log1pf, tests[i].x - 1, tests[i].logex,
FLT_ULP());
test_tol(log1pl, tests[i].x - 1, tests[i].logex,
- LDBL_ULP());
+ log1p_ldbl_ulp);
}
}
}
@@ -236,6 +247,11 @@
ATF_TC_WITHOUT_HEAD(log1p_accuracy_tests);
ATF_TC_BODY(log1p_accuracy_tests, tc)
{
+#if LDBL_MANT_DIG > 64
+ if (atf_tc_get_config_var_as_bool_wd(tc, "ci", false))
+ atf_tc_expect_fail("https://bugs.freebsd.org/253984");
+#endif
+
test_tol(log1pf, 0x0.333333p0F,
1.82321546859847114303367992804596800640e-1L, FLT_ULP());
test_tol(log1p, 0x0.3333333333333p0,

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 27, 10:17 PM (18 h, 9 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
12948082
Default Alt Text
D29039.diff (1 KB)

Event Timeline