@@ -732,7 +732,7 @@ assume_usize_width! {
732
732
}
733
733
734
734
macro_rules! test_float {
735
- ( $modname: ident, $fassert: ident, $fty: ty, $inf : expr , $neginf : expr , $nan : expr , $min : expr , $max : expr , $min_pos : expr , $max_exp : expr ) => {
735
+ ( $modname: ident, $fassert: ident, $fty: ty) => {
736
736
mod $modname {
737
737
#[ test]
738
738
fn min( ) {
@@ -747,19 +747,19 @@ macro_rules! test_float {
747
747
$fassert!( ( -0.0 as $fty) . min( 9.0 ) , -0.0 ) ;
748
748
$fassert!( ( -0.0 as $fty) . min( 9.0 ) . is_sign_negative( ) ) ;
749
749
$fassert!( ( -0.0 as $fty) . min( -9.0 ) , -9.0 ) ;
750
- $fassert!( ( $inf as $ fty) . min( 9.0 ) , 9.0 ) ;
751
- $fassert!( ( 9.0 as $fty) . min( $inf ) , 9.0 ) ;
752
- $fassert!( ( $inf as $ fty) . min( -9.0 ) , -9.0 ) ;
753
- $fassert!( ( -9.0 as $fty) . min( $inf ) , -9.0 ) ;
754
- $fassert!( ( $neginf as $ fty) . min( 9.0 ) , $neginf ) ;
755
- $fassert!( ( 9.0 as $fty) . min( $neginf ) , $neginf ) ;
756
- $fassert!( ( $neginf as $ fty) . min( -9.0 ) , $neginf ) ;
757
- $fassert!( ( -9.0 as $fty) . min( $neginf ) , $neginf ) ;
758
- $fassert!( ( $nan as $ fty) . min( 9.0 ) , 9.0 ) ;
759
- $fassert!( ( $nan as $ fty) . min( -9.0 ) , -9.0 ) ;
760
- $fassert!( ( 9.0 as $fty) . min( $nan ) , 9.0 ) ;
761
- $fassert!( ( -9.0 as $fty) . min( $nan ) , -9.0 ) ;
762
- $fassert!( ( $nan as $ fty) . min( $nan ) . is_nan( ) ) ;
750
+ $fassert!( <$ fty> :: INFINITY . min( 9.0 ) , 9.0 ) ;
751
+ $fassert!( ( 9.0 as $fty) . min( <$fty> :: INFINITY ) , 9.0 ) ;
752
+ $fassert!( <$ fty> :: INFINITY . min( -9.0 ) , -9.0 ) ;
753
+ $fassert!( ( -9.0 as $fty) . min( <$fty> :: INFINITY ) , -9.0 ) ;
754
+ $fassert!( <$ fty> :: NEG_INFINITY . min( 9.0 ) , <$fty> :: NEG_INFINITY ) ;
755
+ $fassert!( ( 9.0 as $fty) . min( <$fty> :: NEG_INFINITY ) , <$fty> :: NEG_INFINITY ) ;
756
+ $fassert!( <$ fty> :: NEG_INFINITY . min( -9.0 ) , <$fty> :: NEG_INFINITY ) ;
757
+ $fassert!( ( -9.0 as $fty) . min( <$fty> :: NEG_INFINITY ) , <$fty> :: NEG_INFINITY ) ;
758
+ $fassert!( <$ fty> :: NAN . min( 9.0 ) , 9.0 ) ;
759
+ $fassert!( <$ fty> :: NAN . min( -9.0 ) , -9.0 ) ;
760
+ $fassert!( ( 9.0 as $fty) . min( <$fty> :: NAN ) , 9.0 ) ;
761
+ $fassert!( ( -9.0 as $fty) . min( <$fty> :: NAN ) , -9.0 ) ;
762
+ $fassert!( <$ fty> :: NAN . min( <$fty> :: NAN ) . is_nan( ) ) ;
763
763
}
764
764
#[ test]
765
765
fn max( ) {
@@ -777,19 +777,19 @@ macro_rules! test_float {
777
777
$fassert!( ( 0.0 as $fty) . max( -9.0 ) . is_sign_positive( ) ) ;
778
778
$fassert!( ( -0.0 as $fty) . max( -9.0 ) , -0.0 ) ;
779
779
$fassert!( ( -0.0 as $fty) . max( -9.0 ) . is_sign_negative( ) ) ;
780
- $fassert!( ( $inf as $ fty) . max( 9.0 ) , $inf ) ;
781
- $fassert!( ( 9.0 as $fty) . max( $inf ) , $inf ) ;
782
- $fassert!( ( $inf as $ fty) . max( -9.0 ) , $inf ) ;
783
- $fassert!( ( -9.0 as $fty) . max( $inf ) , $inf ) ;
784
- $fassert!( ( $neginf as $ fty) . max( 9.0 ) , 9.0 ) ;
785
- $fassert!( ( 9.0 as $fty) . max( $neginf ) , 9.0 ) ;
786
- $fassert!( ( $neginf as $ fty) . max( -9.0 ) , -9.0 ) ;
787
- $fassert!( ( -9.0 as $fty) . max( $neginf ) , -9.0 ) ;
788
- $fassert!( ( $nan as $ fty) . max( 9.0 ) , 9.0 ) ;
789
- $fassert!( ( $nan as $ fty) . max( -9.0 ) , -9.0 ) ;
790
- $fassert!( ( 9.0 as $fty) . max( $nan ) , 9.0 ) ;
791
- $fassert!( ( -9.0 as $fty) . max( $nan ) , -9.0 ) ;
792
- $fassert!( ( $nan as $ fty) . max( $nan ) . is_nan( ) ) ;
780
+ $fassert!( <$ fty> :: INFINITY . max( 9.0 ) , <$fty> :: INFINITY ) ;
781
+ $fassert!( ( 9.0 as $fty) . max( <$fty> :: INFINITY ) , <$fty> :: INFINITY ) ;
782
+ $fassert!( <$ fty> :: INFINITY . max( -9.0 ) , <$fty> :: INFINITY ) ;
783
+ $fassert!( ( -9.0 as $fty) . max( <$fty> :: INFINITY ) , <$fty> :: INFINITY ) ;
784
+ $fassert!( <$ fty> :: NEG_INFINITY . max( 9.0 ) , 9.0 ) ;
785
+ $fassert!( ( 9.0 as $fty) . max( <$fty> :: NEG_INFINITY ) , 9.0 ) ;
786
+ $fassert!( <$ fty> :: NEG_INFINITY . max( -9.0 ) , -9.0 ) ;
787
+ $fassert!( ( -9.0 as $fty) . max( <$fty> :: NEG_INFINITY ) , -9.0 ) ;
788
+ $fassert!( <$ fty> :: NAN . max( 9.0 ) , 9.0 ) ;
789
+ $fassert!( <$ fty> :: NAN . max( -9.0 ) , -9.0 ) ;
790
+ $fassert!( ( 9.0 as $fty) . max( <$fty> :: NAN ) , 9.0 ) ;
791
+ $fassert!( ( -9.0 as $fty) . max( <$fty> :: NAN ) , -9.0 ) ;
792
+ $fassert!( <$ fty> :: NAN . max( <$fty> :: NAN ) . is_nan( ) ) ;
793
793
}
794
794
#[ test]
795
795
fn minimum( ) {
@@ -806,19 +806,19 @@ macro_rules! test_float {
806
806
$fassert!( ( -0.0 as $fty) . minimum( 9.0 ) , -0.0 ) ;
807
807
$fassert!( ( -0.0 as $fty) . minimum( 9.0 ) . is_sign_negative( ) ) ;
808
808
$fassert!( ( -0.0 as $fty) . minimum( -9.0 ) , -9.0 ) ;
809
- $fassert!( ( $inf as $ fty) . minimum( 9.0 ) , 9.0 ) ;
810
- $fassert!( ( 9.0 as $fty) . minimum( $inf ) , 9.0 ) ;
811
- $fassert!( ( $inf as $ fty) . minimum( -9.0 ) , -9.0 ) ;
812
- $fassert!( ( -9.0 as $fty) . minimum( $inf ) , -9.0 ) ;
813
- $fassert!( ( $neginf as $ fty) . minimum( 9.0 ) , $neginf ) ;
814
- $fassert!( ( 9.0 as $fty) . minimum( $neginf ) , $neginf ) ;
815
- $fassert!( ( $neginf as $ fty) . minimum( -9.0 ) , $neginf ) ;
816
- $fassert!( ( -9.0 as $fty) . minimum( $neginf ) , $neginf ) ;
817
- $fassert!( ( $nan as $ fty) . minimum( 9.0 ) . is_nan( ) ) ;
818
- $fassert!( ( $nan as $ fty) . minimum( -9.0 ) . is_nan( ) ) ;
819
- $fassert!( ( 9.0 as $fty) . minimum( $nan ) . is_nan( ) ) ;
820
- $fassert!( ( -9.0 as $fty) . minimum( $nan ) . is_nan( ) ) ;
821
- $fassert!( ( $nan as $ fty) . minimum( $nan ) . is_nan( ) ) ;
809
+ $fassert!( <$ fty> :: INFINITY . minimum( 9.0 ) , 9.0 ) ;
810
+ $fassert!( ( 9.0 as $fty) . minimum( <$fty> :: INFINITY ) , 9.0 ) ;
811
+ $fassert!( <$ fty> :: INFINITY . minimum( -9.0 ) , -9.0 ) ;
812
+ $fassert!( ( -9.0 as $fty) . minimum( <$fty> :: INFINITY ) , -9.0 ) ;
813
+ $fassert!( <$ fty> :: NEG_INFINITY . minimum( 9.0 ) , <$fty> :: NEG_INFINITY ) ;
814
+ $fassert!( ( 9.0 as $fty) . minimum( <$fty> :: NEG_INFINITY ) , <$fty> :: NEG_INFINITY ) ;
815
+ $fassert!( <$ fty> :: NEG_INFINITY . minimum( -9.0 ) , <$fty> :: NEG_INFINITY ) ;
816
+ $fassert!( ( -9.0 as $fty) . minimum( <$fty> :: NEG_INFINITY ) , <$fty> :: NEG_INFINITY ) ;
817
+ $fassert!( <$ fty> :: NAN . minimum( 9.0 ) . is_nan( ) ) ;
818
+ $fassert!( <$ fty> :: NAN . minimum( -9.0 ) . is_nan( ) ) ;
819
+ $fassert!( ( 9.0 as $fty) . minimum( <$fty> :: NAN ) . is_nan( ) ) ;
820
+ $fassert!( ( -9.0 as $fty) . minimum( <$fty> :: NAN ) . is_nan( ) ) ;
821
+ $fassert!( <$ fty> :: NAN . minimum( <$fty> :: NAN ) . is_nan( ) ) ;
822
822
}
823
823
#[ test]
824
824
fn maximum( ) {
@@ -838,19 +838,19 @@ macro_rules! test_float {
838
838
$fassert!( ( 0.0 as $fty) . maximum( -9.0 ) . is_sign_positive( ) ) ;
839
839
$fassert!( ( -0.0 as $fty) . maximum( -9.0 ) , -0.0 ) ;
840
840
$fassert!( ( -0.0 as $fty) . maximum( -9.0 ) . is_sign_negative( ) ) ;
841
- $fassert!( ( $inf as $ fty) . maximum( 9.0 ) , $inf ) ;
842
- $fassert!( ( 9.0 as $fty) . maximum( $inf ) , $inf ) ;
843
- $fassert!( ( $inf as $ fty) . maximum( -9.0 ) , $inf ) ;
844
- $fassert!( ( -9.0 as $fty) . maximum( $inf ) , $inf ) ;
845
- $fassert!( ( $neginf as $ fty) . maximum( 9.0 ) , 9.0 ) ;
846
- $fassert!( ( 9.0 as $fty) . maximum( $neginf ) , 9.0 ) ;
847
- $fassert!( ( $neginf as $ fty) . maximum( -9.0 ) , -9.0 ) ;
848
- $fassert!( ( -9.0 as $fty) . maximum( $neginf ) , -9.0 ) ;
849
- $fassert!( ( $nan as $ fty) . maximum( 9.0 ) . is_nan( ) ) ;
850
- $fassert!( ( $nan as $ fty) . maximum( -9.0 ) . is_nan( ) ) ;
851
- $fassert!( ( 9.0 as $fty) . maximum( $nan ) . is_nan( ) ) ;
852
- $fassert!( ( -9.0 as $fty) . maximum( $nan ) . is_nan( ) ) ;
853
- $fassert!( ( $nan as $ fty) . maximum( $nan ) . is_nan( ) ) ;
841
+ $fassert!( <$ fty> :: INFINITY . maximum( 9.0 ) , <$fty> :: INFINITY ) ;
842
+ $fassert!( ( 9.0 as $fty) . maximum( <$fty> :: INFINITY ) , <$fty> :: INFINITY ) ;
843
+ $fassert!( <$ fty> :: INFINITY . maximum( -9.0 ) , <$fty> :: INFINITY ) ;
844
+ $fassert!( ( -9.0 as $fty) . maximum( <$fty> :: INFINITY ) , <$fty> :: INFINITY ) ;
845
+ $fassert!( <$ fty> :: NEG_INFINITY . maximum( 9.0 ) , 9.0 ) ;
846
+ $fassert!( ( 9.0 as $fty) . maximum( <$fty> :: NEG_INFINITY ) , 9.0 ) ;
847
+ $fassert!( <$ fty> :: NEG_INFINITY . maximum( -9.0 ) , -9.0 ) ;
848
+ $fassert!( ( -9.0 as $fty) . maximum( <$fty> :: NEG_INFINITY ) , -9.0 ) ;
849
+ $fassert!( <$ fty> :: NAN . maximum( 9.0 ) . is_nan( ) ) ;
850
+ $fassert!( <$ fty> :: NAN . maximum( -9.0 ) . is_nan( ) ) ;
851
+ $fassert!( ( 9.0 as $fty) . maximum( <$fty> :: NAN ) . is_nan( ) ) ;
852
+ $fassert!( ( -9.0 as $fty) . maximum( <$fty> :: NAN ) . is_nan( ) ) ;
853
+ $fassert!( <$ fty> :: NAN . maximum( <$fty> :: NAN ) . is_nan( ) ) ;
854
854
}
855
855
#[ test]
856
856
fn midpoint( ) {
@@ -863,38 +863,47 @@ macro_rules! test_float {
863
863
$fassert!( ( 0.0 as $fty) . midpoint( 0.0 ) , 0.0 ) ;
864
864
$fassert!( ( -0.0 as $fty) . midpoint( -0.0 ) , -0.0 ) ;
865
865
$fassert!( ( -5.0 as $fty) . midpoint( 5.0 ) , 0.0 ) ;
866
- $fassert!( ( $max as $fty) . midpoint( $min) , 0.0 ) ;
867
- $fassert!( ( $min as $fty) . midpoint( $max) , -0.0 ) ;
868
- $fassert!( ( $max as $fty) . midpoint( $min_pos) , $max / 2. ) ;
869
- $fassert!( ( -$max as $fty) . midpoint( $min_pos) , -$max / 2. ) ;
870
- $fassert!( ( $max as $fty) . midpoint( -$min_pos) , $max / 2. ) ;
871
- $fassert!( ( -$max as $fty) . midpoint( -$min_pos) , -$max / 2. ) ;
872
- $fassert!( ( $min_pos as $fty) . midpoint( $max) , $max / 2. ) ;
873
- $fassert!( ( $min_pos as $fty) . midpoint( -$max) , -$max / 2. ) ;
874
- $fassert!( ( -$min_pos as $fty) . midpoint( $max) , $max / 2. ) ;
875
- $fassert!( ( -$min_pos as $fty) . midpoint( -$max) , -$max / 2. ) ;
876
- $fassert!( ( $max as $fty) . midpoint( $max) , $max) ;
877
- $fassert!( ( $min_pos as $fty) . midpoint( $min_pos) , $min_pos) ;
878
- $fassert!( ( -$min_pos as $fty) . midpoint( -$min_pos) , -$min_pos) ;
879
- $fassert!( ( $max as $fty) . midpoint( 5.0 ) , $max / 2.0 + 2.5 ) ;
880
- $fassert!( ( $max as $fty) . midpoint( -5.0 ) , $max / 2.0 - 2.5 ) ;
881
- $fassert!( ( $inf as $fty) . midpoint( $inf) , $inf) ;
882
- $fassert!( ( $neginf as $fty) . midpoint( $neginf) , $neginf) ;
883
- $fassert!( ( $nan as $fty) . midpoint( 1.0 ) . is_nan( ) ) ;
884
- $fassert!( ( 1.0 as $fty) . midpoint( $nan) . is_nan( ) ) ;
885
- $fassert!( ( $nan as $fty) . midpoint( $nan) . is_nan( ) ) ;
866
+ $fassert!( <$fty>:: MAX . midpoint( <$fty>:: MIN ) , 0.0 ) ;
867
+ $fassert!( <$fty>:: MIN . midpoint( <$fty>:: MAX ) , -0.0 ) ;
868
+ $fassert!( <$fty>:: MAX . midpoint( <$fty>:: MIN_POSITIVE ) , <$fty>:: MAX / 2. ) ;
869
+ $fassert!( ( -<$fty>:: MAX ) . midpoint( <$fty>:: MIN_POSITIVE ) , -<$fty>:: MAX / 2. ) ;
870
+ $fassert!( <$fty>:: MAX . midpoint( -<$fty>:: MIN_POSITIVE ) , <$fty>:: MAX / 2. ) ;
871
+ $fassert!( ( -<$fty>:: MAX ) . midpoint( -<$fty>:: MIN_POSITIVE ) , -<$fty>:: MAX / 2. ) ;
872
+ $fassert!( ( <$fty>:: MIN_POSITIVE ) . midpoint( <$fty>:: MAX ) , <$fty>:: MAX / 2. ) ;
873
+ $fassert!( ( <$fty>:: MIN_POSITIVE ) . midpoint( -<$fty>:: MAX ) , -<$fty>:: MAX / 2. ) ;
874
+ $fassert!( ( -<$fty>:: MIN_POSITIVE ) . midpoint( <$fty>:: MAX ) , <$fty>:: MAX / 2. ) ;
875
+ $fassert!( ( -<$fty>:: MIN_POSITIVE ) . midpoint( -<$fty>:: MAX ) , -<$fty>:: MAX / 2. ) ;
876
+ $fassert!( <$fty>:: MAX . midpoint( <$fty>:: MAX ) , <$fty>:: MAX ) ;
877
+ $fassert!(
878
+ ( <$fty>:: MIN_POSITIVE ) . midpoint( <$fty>:: MIN_POSITIVE ) ,
879
+ <$fty>:: MIN_POSITIVE
880
+ ) ;
881
+ $fassert!(
882
+ ( -<$fty>:: MIN_POSITIVE ) . midpoint( -<$fty>:: MIN_POSITIVE ) ,
883
+ -<$fty>:: MIN_POSITIVE
884
+ ) ;
885
+ $fassert!( <$fty>:: MAX . midpoint( 5.0 ) , <$fty>:: MAX / 2.0 + 2.5 ) ;
886
+ $fassert!( <$fty>:: MAX . midpoint( -5.0 ) , <$fty>:: MAX / 2.0 - 2.5 ) ;
887
+ $fassert!( <$fty>:: INFINITY . midpoint( <$fty>:: INFINITY ) , <$fty>:: INFINITY ) ;
888
+ $fassert!(
889
+ <$fty>:: NEG_INFINITY . midpoint( <$fty>:: NEG_INFINITY ) ,
890
+ <$fty>:: NEG_INFINITY
891
+ ) ;
892
+ $fassert!( <$fty>:: NAN . midpoint( 1.0 ) . is_nan( ) ) ;
893
+ $fassert!( ( 1.0 as $fty) . midpoint( <$fty>:: NAN ) . is_nan( ) ) ;
894
+ $fassert!( <$fty>:: NAN . midpoint( <$fty>:: NAN ) . is_nan( ) ) ;
886
895
887
896
// test if large differences in magnitude are still correctly computed.
888
897
// NOTE: that because of how small x and y are, x + y can never overflow
889
898
// so (x + y) / 2.0 is always correct
890
899
// in particular, `2.pow(i)` will never be at the max exponent, so it could
891
900
// be safely doubled, while j is significantly smaller.
892
- for i in $max_exp . saturating_sub( 64 ) ..$max_exp {
901
+ for i in <$fty> :: MAX_EXP . saturating_sub( 64 ) ..<$fty> :: MAX_EXP {
893
902
for j in 0 ..64u8 {
894
- let large = <$fty> :: from ( 2.0f32 ) . powi( i) ;
903
+ let large = ( 2.0 as $fty ) . powi( i) ;
895
904
// a much smaller number, such that there is no chance of overflow to test
896
905
// potential double rounding in midpoint's implementation.
897
- let small = <$fty> :: from ( 2.0f32 ) . powi( $max_exp - 1 )
906
+ let small = ( 2.0 as $fty ) . powi( <$fty> :: MAX_EXP - 1 )
898
907
* <$fty>:: EPSILON
899
908
* <$fty>:: from( j) ;
900
909
@@ -906,23 +915,37 @@ macro_rules! test_float {
906
915
}
907
916
}
908
917
#[ test]
918
+ fn abs( ) {
919
+ $fassert!( ( -1.0 as $fty) . abs( ) , 1.0 ) ;
920
+ $fassert!( ( 1.0 as $fty) . abs( ) , 1.0 ) ;
921
+ $fassert!( <$fty>:: NEG_INFINITY . abs( ) , <$fty>:: INFINITY ) ;
922
+ $fassert!( <$fty>:: INFINITY . abs( ) , <$fty>:: INFINITY ) ;
923
+ }
924
+ #[ test]
925
+ fn copysign( ) {
926
+ $fassert!( ( 1.0 as $fty) . copysign( -2.0 ) , -1.0 ) ;
927
+ $fassert!( ( -1.0 as $fty) . copysign( 2.0 ) , 1.0 ) ;
928
+ $fassert!( <$fty>:: INFINITY . copysign( -0.0 ) , <$fty>:: NEG_INFINITY ) ;
929
+ $fassert!( <$fty>:: NEG_INFINITY . copysign( 0.0 ) , <$fty>:: INFINITY ) ;
930
+ }
931
+ #[ test]
909
932
fn rem_euclid( ) {
910
933
// FIXME: Use $fassert when rem_euclid becomes const
911
- assert!( $inf . rem_euclid( ( 42.0 as $fty) ) . is_nan( ) ) ;
912
- assert_eq!( ( 42.0 as $fty) . rem_euclid( $inf ) , ( 42.0 as $fty) ) ;
913
- assert!( ( 42.0 as $fty) . rem_euclid( $nan ) . is_nan( ) ) ;
914
- assert!( $inf . rem_euclid( $inf ) . is_nan( ) ) ;
915
- assert!( $inf . rem_euclid( $nan ) . is_nan( ) ) ;
916
- assert!( $nan . rem_euclid( $inf ) . is_nan( ) ) ;
934
+ assert!( <$fty> :: INFINITY . rem_euclid( ( 42.0 as $fty) ) . is_nan( ) ) ;
935
+ assert_eq!( ( 42.0 as $fty) . rem_euclid( <$fty> :: INFINITY ) , ( 42.0 as $fty) ) ;
936
+ assert!( ( 42.0 as $fty) . rem_euclid( <$fty> :: NAN ) . is_nan( ) ) ;
937
+ assert!( <$fty> :: INFINITY . rem_euclid( <$fty> :: INFINITY ) . is_nan( ) ) ;
938
+ assert!( <$fty> :: INFINITY . rem_euclid( <$fty> :: NAN ) . is_nan( ) ) ;
939
+ assert!( <$fty> :: NAN . rem_euclid( <$fty> :: INFINITY ) . is_nan( ) ) ;
917
940
}
918
941
#[ test]
919
942
fn div_euclid( ) {
920
943
// FIXME: Use $fassert when div_euclid becomes const
921
- assert_eq!( ( 42.0 as $fty) . div_euclid( $inf ) , 0.0 ) ;
922
- assert!( ( 42.0 as $fty) . div_euclid( $nan ) . is_nan( ) ) ;
923
- assert!( $inf . div_euclid( $inf ) . is_nan( ) ) ;
924
- assert!( $inf . div_euclid( $nan ) . is_nan( ) ) ;
925
- assert!( $nan . div_euclid( $inf ) . is_nan( ) ) ;
944
+ assert_eq!( ( 42.0 as $fty) . div_euclid( <$fty> :: INFINITY ) , 0.0 ) ;
945
+ assert!( ( 42.0 as $fty) . div_euclid( <$fty> :: NAN ) . is_nan( ) ) ;
946
+ assert!( <$fty> :: INFINITY . div_euclid( <$fty> :: INFINITY ) . is_nan( ) ) ;
947
+ assert!( <$fty> :: INFINITY . div_euclid( <$fty> :: NAN ) . is_nan( ) ) ;
948
+ assert!( <$fty> :: NAN . div_euclid( <$fty> :: INFINITY ) . is_nan( ) ) ;
926
949
}
927
950
}
928
951
} ;
@@ -948,51 +971,7 @@ macro_rules! float_const_assert {
948
971
} ;
949
972
}
950
973
951
- test_float ! (
952
- f32 ,
953
- float_assert,
954
- f32 ,
955
- f32 :: INFINITY ,
956
- f32 :: NEG_INFINITY ,
957
- f32 :: NAN ,
958
- f32 :: MIN ,
959
- f32 :: MAX ,
960
- f32 :: MIN_POSITIVE ,
961
- f32 :: MAX_EXP
962
- ) ;
963
- test_float ! (
964
- f32_const,
965
- float_const_assert,
966
- f32 ,
967
- f32 :: INFINITY ,
968
- f32 :: NEG_INFINITY ,
969
- f32 :: NAN ,
970
- f32 :: MIN ,
971
- f32 :: MAX ,
972
- f32 :: MIN_POSITIVE ,
973
- f32 :: MAX_EXP
974
- ) ;
975
- test_float ! (
976
- f64 ,
977
- float_assert,
978
- f64 ,
979
- f64 :: INFINITY ,
980
- f64 :: NEG_INFINITY ,
981
- f64 :: NAN ,
982
- f64 :: MIN ,
983
- f64 :: MAX ,
984
- f64 :: MIN_POSITIVE ,
985
- f64 :: MAX_EXP
986
- ) ;
987
- test_float ! (
988
- f64_const,
989
- float_const_assert,
990
- f64 ,
991
- f64 :: INFINITY ,
992
- f64 :: NEG_INFINITY ,
993
- f64 :: NAN ,
994
- f64 :: MIN ,
995
- f64 :: MAX ,
996
- f64 :: MIN_POSITIVE ,
997
- f64 :: MAX_EXP
998
- ) ;
974
+ test_float ! ( f32 , float_assert, f32 ) ;
975
+ test_float ! ( f32_const, float_const_assert, f32 ) ;
976
+ test_float ! ( f64 , float_assert, f64 ) ;
977
+ test_float ! ( f64_const, float_const_assert, f64 ) ;
0 commit comments