@@ -715,6 +715,67 @@ macro_rules! test_float {
715715 assert!( ( $nan as $fty) . max( $nan) . is_nan( ) ) ;
716716 }
717717 #[ test]
718+ fn minimum( ) {
719+ assert_eq!( ( 0.0 as $fty) . minimum( 0.0 ) , 0.0 ) ;
720+ assert!( ( 0.0 as $fty) . minimum( 0.0 ) . is_sign_positive( ) ) ;
721+ assert_eq!( ( -0.0 as $fty) . minimum( 0.0 ) , -0.0 ) ;
722+ assert!( ( -0.0 as $fty) . minimum( 0.0 ) . is_sign_negative( ) ) ;
723+ assert_eq!( ( -0.0 as $fty) . minimum( -0.0 ) , -0.0 ) ;
724+ assert!( ( -0.0 as $fty) . minimum( -0.0 ) . is_sign_negative( ) ) ;
725+ assert_eq!( ( 9.0 as $fty) . minimum( 9.0 ) , 9.0 ) ;
726+ assert_eq!( ( -9.0 as $fty) . minimum( 0.0 ) , -9.0 ) ;
727+ assert_eq!( ( 0.0 as $fty) . minimum( 9.0 ) , 0.0 ) ;
728+ assert!( ( 0.0 as $fty) . minimum( 9.0 ) . is_sign_positive( ) ) ;
729+ assert_eq!( ( -0.0 as $fty) . minimum( 9.0 ) , -0.0 ) ;
730+ assert!( ( -0.0 as $fty) . minimum( 9.0 ) . is_sign_negative( ) ) ;
731+ assert_eq!( ( -0.0 as $fty) . minimum( -9.0 ) , -9.0 ) ;
732+ assert_eq!( ( $inf as $fty) . minimum( 9.0 ) , 9.0 ) ;
733+ assert_eq!( ( 9.0 as $fty) . minimum( $inf) , 9.0 ) ;
734+ assert_eq!( ( $inf as $fty) . minimum( -9.0 ) , -9.0 ) ;
735+ assert_eq!( ( -9.0 as $fty) . minimum( $inf) , -9.0 ) ;
736+ assert_eq!( ( $neginf as $fty) . minimum( 9.0 ) , $neginf) ;
737+ assert_eq!( ( 9.0 as $fty) . minimum( $neginf) , $neginf) ;
738+ assert_eq!( ( $neginf as $fty) . minimum( -9.0 ) , $neginf) ;
739+ assert_eq!( ( -9.0 as $fty) . minimum( $neginf) , $neginf) ;
740+ assert!( ( $nan as $fty) . minimum( 9.0 ) . is_nan( ) ) ;
741+ assert!( ( $nan as $fty) . minimum( -9.0 ) . is_nan( ) ) ;
742+ assert!( ( 9.0 as $fty) . minimum( $nan) . is_nan( ) ) ;
743+ assert!( ( -9.0 as $fty) . minimum( $nan) . is_nan( ) ) ;
744+ assert!( ( $nan as $fty) . minimum( $nan) . is_nan( ) ) ;
745+ }
746+ #[ test]
747+ fn maximum( ) {
748+ assert_eq!( ( 0.0 as $fty) . maximum( 0.0 ) , 0.0 ) ;
749+ assert!( ( 0.0 as $fty) . maximum( 0.0 ) . is_sign_positive( ) ) ;
750+ assert_eq!( ( -0.0 as $fty) . maximum( 0.0 ) , 0.0 ) ;
751+ assert!( ( -0.0 as $fty) . maximum( 0.0 ) . is_sign_positive( ) ) ;
752+ assert_eq!( ( -0.0 as $fty) . maximum( -0.0 ) , -0.0 ) ;
753+ assert!( ( -0.0 as $fty) . maximum( -0.0 ) . is_sign_negative( ) ) ;
754+ assert_eq!( ( 9.0 as $fty) . maximum( 9.0 ) , 9.0 ) ;
755+ assert_eq!( ( -9.0 as $fty) . maximum( 0.0 ) , 0.0 ) ;
756+ assert!( ( -9.0 as $fty) . maximum( 0.0 ) . is_sign_positive( ) ) ;
757+ assert_eq!( ( -9.0 as $fty) . maximum( -0.0 ) , -0.0 ) ;
758+ assert!( ( -9.0 as $fty) . maximum( -0.0 ) . is_sign_negative( ) ) ;
759+ assert_eq!( ( 0.0 as $fty) . maximum( 9.0 ) , 9.0 ) ;
760+ assert_eq!( ( 0.0 as $fty) . maximum( -9.0 ) , 0.0 ) ;
761+ assert!( ( 0.0 as $fty) . maximum( -9.0 ) . is_sign_positive( ) ) ;
762+ assert_eq!( ( -0.0 as $fty) . maximum( -9.0 ) , -0.0 ) ;
763+ assert!( ( -0.0 as $fty) . maximum( -9.0 ) . is_sign_negative( ) ) ;
764+ assert_eq!( ( $inf as $fty) . maximum( 9.0 ) , $inf) ;
765+ assert_eq!( ( 9.0 as $fty) . maximum( $inf) , $inf) ;
766+ assert_eq!( ( $inf as $fty) . maximum( -9.0 ) , $inf) ;
767+ assert_eq!( ( -9.0 as $fty) . maximum( $inf) , $inf) ;
768+ assert_eq!( ( $neginf as $fty) . maximum( 9.0 ) , 9.0 ) ;
769+ assert_eq!( ( 9.0 as $fty) . maximum( $neginf) , 9.0 ) ;
770+ assert_eq!( ( $neginf as $fty) . maximum( -9.0 ) , -9.0 ) ;
771+ assert_eq!( ( -9.0 as $fty) . maximum( $neginf) , -9.0 ) ;
772+ assert!( ( $nan as $fty) . maximum( 9.0 ) . is_nan( ) ) ;
773+ assert!( ( $nan as $fty) . maximum( -9.0 ) . is_nan( ) ) ;
774+ assert!( ( 9.0 as $fty) . maximum( $nan) . is_nan( ) ) ;
775+ assert!( ( -9.0 as $fty) . maximum( $nan) . is_nan( ) ) ;
776+ assert!( ( $nan as $fty) . maximum( $nan) . is_nan( ) ) ;
777+ }
778+ #[ test]
718779 fn rem_euclid( ) {
719780 let a: $fty = 42.0 ;
720781 assert!( $inf. rem_euclid( a) . is_nan( ) ) ;
0 commit comments