This repository was archived by the owner on Apr 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -106,7 +106,11 @@ pub fn default_ulp(ctx: &CheckCtx) -> u32 {
106
106
match ctx. fn_ident {
107
107
Id :: Asinh => ulp = 3 ,
108
108
Id :: Asinhf => ulp = 3 ,
109
+ Id :: Exp10 | Id :: Exp10f => ulp = 1_000_000 ,
110
+ Id :: Exp2 | Id :: Exp2f => ulp = 10_000_000 ,
111
+ Id :: Fmaf => ulp = 1 ,
109
112
Id :: Log1p | Id :: Log1pf => ulp = 2 ,
113
+ Id :: Rint => ulp = 100_000 ,
110
114
Id :: Round => ulp = 1 ,
111
115
Id :: Tan => ulp = 2 ,
112
116
_ => ( ) ,
@@ -271,15 +275,23 @@ impl MaybeOverride<(f64,)> for SpecialCase {
271
275
}
272
276
273
277
if ( ctx. fn_ident == Identifier :: Ceil || ctx. fn_ident == Identifier :: Floor )
278
+ && cfg ! ( x86_no_sse)
274
279
&& expected. eq_repr ( F :: NEG_ZERO )
275
280
&& actual. eq_repr ( F :: ZERO )
276
- && cfg ! ( x86_no_sse)
277
281
{
278
282
// FIXME: the x87 implementations do not keep the distinction between -0.0 and 0.0.
279
283
// See https://github.com/rust-lang/libm/pull/404#issuecomment-2572399955
280
284
return XFAIL ;
281
285
}
282
286
287
+ if ( ctx. fn_ident == Identifier :: Exp10 || ctx. fn_ident == Identifier :: Exp2 )
288
+ && cfg ! ( x86_no_sse)
289
+ {
290
+ // FIXME: i586 has very imprecise results with ULP > u32::MAX for these
291
+ // operations so we can't reasonably provide a limit.
292
+ return XFAIL ;
293
+ }
294
+
283
295
maybe_check_nan_bits ( actual, expected, ctx)
284
296
}
285
297
You can’t perform that action at this time.
0 commit comments