File tree Expand file tree Collapse file tree 1 file changed +14
-12
lines changed Expand file tree Collapse file tree 1 file changed +14
-12
lines changed Original file line number Diff line number Diff line change @@ -523,18 +523,7 @@ fn int_float_common<F1: Float, F2: Float>(
523
523
&& actual == F2 :: ZERO
524
524
&& expected == F2 :: ZERO
525
525
{
526
- return XFAIL ( "mpfr b" ) ;
527
- }
528
-
529
- // Our bessel functions blow up with large N values
530
- if ctx. basis == Musl && ( ctx. base_name == BaseName :: Jn || ctx. base_name == BaseName :: Yn ) {
531
- if input. 0 > 4000 {
532
- return XFAIL_NOCHECK ;
533
- } else if input. 0 > 2000 {
534
- return CheckAction :: AssertWithUlp ( 20_000 ) ;
535
- } else if input. 0 > 1000 {
536
- return CheckAction :: AssertWithUlp ( 4_000 ) ;
537
- }
526
+ return XFAIL ( "we disagree with MPFR on the sign of zero" ) ;
538
527
}
539
528
540
529
// Values near infinity sometimes get cut off for us. `ynf(681, 509.90924) = -inf` but should
@@ -549,6 +538,19 @@ fn int_float_common<F1: Float, F2: Float>(
549
538
return XFAIL_NOCHECK ;
550
539
}
551
540
541
+ // Our bessel functions blow up with large N values
542
+ if ctx. basis == Musl && ( ctx. base_name == BaseName :: Jn || ctx. base_name == BaseName :: Yn ) {
543
+ if cfg ! ( x86_no_sse) {
544
+ // Precision is especially bad on i586, not worth checking.
545
+ return XFAIL_NOCHECK ;
546
+ }
547
+
548
+ if input. 0 > 4000 {
549
+ return XFAIL_NOCHECK ;
550
+ } else if input. 0 > 100 {
551
+ return CheckAction :: AssertWithUlp ( 1_000_000 ) ;
552
+ }
553
+ }
552
554
DEFAULT
553
555
}
554
556
You can’t perform that action at this time.
0 commit comments