@@ -634,14 +634,18 @@ assume_usize_width! {
634634macro_rules! test_float {
635635 ( $modname: ident, $fty: ty, $inf: expr, $neginf: expr, $nan: expr) => {
636636 mod $modname {
637- // FIXME(nagisa): these tests should test for sign of -0.0
638637 #[ test]
639638 fn min( ) {
640639 assert_eq!( ( 0.0 as $fty) . min( 0.0 ) , 0.0 ) ;
640+ assert!( ( 0.0 as $fty) . min( 0.0 ) . is_sign_positive( ) ) ;
641641 assert_eq!( ( -0.0 as $fty) . min( -0.0 ) , -0.0 ) ;
642+ assert!( ( -0.0 as $fty) . min( -0.0 ) . is_sign_negative( ) ) ;
642643 assert_eq!( ( 9.0 as $fty) . min( 9.0 ) , 9.0 ) ;
643644 assert_eq!( ( -9.0 as $fty) . min( 0.0 ) , -9.0 ) ;
644645 assert_eq!( ( 0.0 as $fty) . min( 9.0 ) , 0.0 ) ;
646+ assert!( ( 0.0 as $fty) . min( 9.0 ) . is_sign_positive( ) ) ;
647+ assert_eq!( ( -0.0 as $fty) . min( 9.0 ) , -0.0 ) ;
648+ assert!( ( -0.0 as $fty) . min( 9.0 ) . is_sign_negative( ) ) ;
645649 assert_eq!( ( -0.0 as $fty) . min( -9.0 ) , -9.0 ) ;
646650 assert_eq!( ( $inf as $fty) . min( 9.0 ) , 9.0 ) ;
647651 assert_eq!( ( 9.0 as $fty) . min( $inf) , 9.0 ) ;
@@ -660,11 +664,19 @@ macro_rules! test_float {
660664 #[ test]
661665 fn max( ) {
662666 assert_eq!( ( 0.0 as $fty) . max( 0.0 ) , 0.0 ) ;
667+ assert!( ( 0.0 as $fty) . max( 0.0 ) . is_sign_positive( ) ) ;
663668 assert_eq!( ( -0.0 as $fty) . max( -0.0 ) , -0.0 ) ;
669+ assert!( ( -0.0 as $fty) . max( -0.0 ) . is_sign_negative( ) ) ;
664670 assert_eq!( ( 9.0 as $fty) . max( 9.0 ) , 9.0 ) ;
665671 assert_eq!( ( -9.0 as $fty) . max( 0.0 ) , 0.0 ) ;
672+ assert!( ( -9.0 as $fty) . max( 0.0 ) . is_sign_positive( ) ) ;
673+ assert_eq!( ( -9.0 as $fty) . max( -0.0 ) , -0.0 ) ;
674+ assert!( ( -9.0 as $fty) . max( -0.0 ) . is_sign_negative( ) ) ;
666675 assert_eq!( ( 0.0 as $fty) . max( 9.0 ) , 9.0 ) ;
676+ assert_eq!( ( 0.0 as $fty) . max( -9.0 ) , 0.0 ) ;
677+ assert!( ( 0.0 as $fty) . max( -9.0 ) . is_sign_positive( ) ) ;
667678 assert_eq!( ( -0.0 as $fty) . max( -9.0 ) , -0.0 ) ;
679+ assert!( ( -0.0 as $fty) . max( -9.0 ) . is_sign_negative( ) ) ;
668680 assert_eq!( ( $inf as $fty) . max( 9.0 ) , $inf) ;
669681 assert_eq!( ( 9.0 as $fty) . max( $inf) , $inf) ;
670682 assert_eq!( ( $inf as $fty) . max( -9.0 ) , $inf) ;
0 commit comments