@@ -570,9 +570,11 @@ fn fma() {
570
570
fn issue_69532 ( ) {
571
571
let f = Double :: from_bits ( 0x7FF0_0000_0000_0001u64 as u128 ) ;
572
572
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 ;
574
575
assert ! ( loses_info) ;
575
576
assert ! ( r. is_nan( ) ) ;
577
+ assert_eq ! ( sta. status, Status :: INVALID_OP ) ;
576
578
}
577
579
578
580
#[ test]
@@ -1501,27 +1503,32 @@ fn convert() {
1501
1503
assert_eq ! ( 4294967295.0 , test. to_f64( ) ) ;
1502
1504
assert ! ( !loses_info) ;
1503
1505
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
-
1510
1506
let test = Single :: qnan ( None ) ;
1511
1507
let x87_qnan = X87DoubleExtended :: qnan ( None ) ;
1512
1508
let test: X87DoubleExtended = test. convert ( & mut loses_info) . value ;
1513
1509
assert ! ( test. bitwise_eq( x87_qnan) ) ;
1514
1510
assert ! ( !loses_info) ;
1515
1511
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( ) ) ;
1519
1517
assert ! ( !loses_info) ;
1518
+ assert_eq ! ( sta. status, Status :: INVALID_OP ) ;
1520
1519
1521
1520
let test = X87DoubleExtended :: qnan ( None ) ;
1522
1521
let test: X87DoubleExtended = test. convert ( & mut loses_info) . value ;
1523
1522
assert ! ( test. bitwise_eq( x87_qnan) ) ;
1524
1523
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 ) ;
1525
1532
}
1526
1533
1527
1534
#[ test]
0 commit comments