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 +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>(
523523 && actual == F2 :: ZERO
524524 && expected == F2 :: ZERO
525525 {
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" ) ;
538527 }
539528
540529 // 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>(
549538 return XFAIL_NOCHECK ;
550539 }
551540
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+ }
552554 DEFAULT
553555}
554556
You can’t perform that action at this time.
0 commit comments