@@ -715,6 +715,67 @@ macro_rules! test_float {
715
715
assert!( ( $nan as $fty) . max( $nan) . is_nan( ) ) ;
716
716
}
717
717
#[ 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]
718
779
fn rem_euclid( ) {
719
780
let a: $fty = 42.0 ;
720
781
assert!( $inf. rem_euclid( a) . is_nan( ) ) ;
0 commit comments