@@ -570,9 +570,11 @@ fn fma() {
570570fn issue_69532 ( ) {
571571 let f = Double :: from_bits ( 0x7FF0_0000_0000_0001u64 as u128 ) ;
572572 let mut loses_info = false ;
573- let r: Single = f. convert ( & mut loses_info) . value ;
573+ let sta = f. convert ( & mut loses_info) ;
574+ let r: Single = sta. value ;
574575 assert ! ( loses_info) ;
575576 assert ! ( r. is_nan( ) ) ;
577+ assert_eq ! ( sta. status, Status :: INVALID_OP ) ;
576578}
577579
578580#[ test]
@@ -1501,27 +1503,32 @@ fn convert() {
15011503 assert_eq ! ( 4294967295.0 , test. to_f64( ) ) ;
15021504 assert ! ( !loses_info) ;
15031505
1504- let test = Single :: snan ( None ) ;
1505- let x87_snan = X87DoubleExtended :: snan ( None ) ;
1506- let test: X87DoubleExtended = test. convert ( & mut loses_info) . value ;
1507- assert ! ( test. bitwise_eq( x87_snan) ) ;
1508- assert ! ( !loses_info) ;
1509-
15101506 let test = Single :: qnan ( None ) ;
15111507 let x87_qnan = X87DoubleExtended :: qnan ( None ) ;
15121508 let test: X87DoubleExtended = test. convert ( & mut loses_info) . value ;
15131509 assert ! ( test. bitwise_eq( x87_qnan) ) ;
15141510 assert ! ( !loses_info) ;
15151511
1516- let test = X87DoubleExtended :: snan ( None ) ;
1517- let test: X87DoubleExtended = test. convert ( & mut loses_info) . value ;
1518- assert ! ( test. bitwise_eq( x87_snan) ) ;
1512+ let test = Single :: snan ( None ) ;
1513+ let sta = test. convert ( & mut loses_info) ;
1514+ let test: X87DoubleExtended = sta. value ;
1515+ assert ! ( test. is_nan( ) ) ;
1516+ assert ! ( !test. is_signaling( ) ) ;
15191517 assert ! ( !loses_info) ;
1518+ assert_eq ! ( sta. status, Status :: INVALID_OP ) ;
15201519
15211520 let test = X87DoubleExtended :: qnan ( None ) ;
15221521 let test: X87DoubleExtended = test. convert ( & mut loses_info) . value ;
15231522 assert ! ( test. bitwise_eq( x87_qnan) ) ;
15241523 assert ! ( !loses_info) ;
1524+
1525+ let test = X87DoubleExtended :: snan ( None ) ;
1526+ let sta = test. convert ( & mut loses_info) ;
1527+ let test: X87DoubleExtended = sta. value ;
1528+ assert ! ( test. is_nan( ) ) ;
1529+ assert ! ( !test. is_signaling( ) ) ;
1530+ assert ! ( !loses_info) ;
1531+ assert_eq ! ( sta. status, Status :: INVALID_OP ) ;
15251532}
15261533
15271534#[ test]
0 commit comments