@@ -924,6 +924,77 @@ macro_rules! test_float {
924
924
assert!( $inf. div_euclid( $nan) . is_nan( ) ) ;
925
925
assert!( $nan. div_euclid( $inf) . is_nan( ) ) ;
926
926
}
927
+ #[ test]
928
+ fn floor( ) {
929
+ $fassert!( ( 0.0 as $fty) . floor( ) , 0.0 ) ;
930
+ $fassert!( ( -0.0 as $fty) . floor( ) , -0.0 ) ;
931
+ $fassert!( ( 0.5 as $fty) . floor( ) , 0.0 ) ;
932
+ $fassert!( ( -0.5 as $fty) . floor( ) , -1.0 ) ;
933
+ $fassert!( ( 1.5 as $fty) . floor( ) , 1.0 ) ;
934
+ $fassert!( ( $max as $fty) . floor( ) , $max) ;
935
+ $fassert!( ( $min as $fty) . floor( ) , $min) ;
936
+ $fassert!( ( $min_pos as $fty) . floor( ) , 0.0 ) ;
937
+ $fassert!( ( -$min_pos as $fty) . floor( ) , -1.0 ) ;
938
+ $fassert!( ( $nan as $fty) . floor( ) . is_nan( ) ) ;
939
+ $fassert!( ( $inf as $fty) . floor( ) , $inf) ;
940
+ $fassert!( ( $neginf as $fty) . floor( ) , $neginf) ;
941
+ }
942
+ #[ test]
943
+ fn ceil( ) {
944
+ $fassert!( ( 0.0 as $fty) . ceil( ) , 0.0 ) ;
945
+ $fassert!( ( -0.0 as $fty) . ceil( ) , 0.0 ) ;
946
+ $fassert!( ( 0.5 as $fty) . ceil( ) , 1.0 ) ;
947
+ $fassert!( ( -0.5 as $fty) . ceil( ) , 0.0 ) ;
948
+ $fassert!( ( $max as $fty) . ceil( ) , $max) ;
949
+ $fassert!( ( $min as $fty) . ceil( ) , $min) ;
950
+ $fassert!( ( $min_pos as $fty) . ceil( ) , 1.0 ) ;
951
+ $fassert!( ( -$min_pos as $fty) . ceil( ) , 0.0 ) ;
952
+ $fassert!( ( $nan as $fty) . ceil( ) . is_nan( ) ) ;
953
+ $fassert!( ( $inf as $fty) . ceil( ) , $inf) ;
954
+ $fassert!( ( $neginf as $fty) . ceil( ) , $neginf) ;
955
+ }
956
+ #[ test]
957
+ fn round( ) {
958
+ $fassert!( ( 0.0 as $fty) . round( ) , 0.0 ) ;
959
+ $fassert!( ( -0.0 as $fty) . round( ) , 0.0 ) ;
960
+ $fassert!( ( 0.5 as $fty) . round( ) , 1.0 ) ;
961
+ $fassert!( ( -0.5 as $fty) . round( ) , -1.0 ) ;
962
+ $fassert!( ( $max as $fty) . round( ) , $max) ;
963
+ $fassert!( ( $min as $fty) . round( ) , $min) ;
964
+ $fassert!( ( $min_pos as $fty) . round( ) , 0.0 ) ;
965
+ $fassert!( ( -$min_pos as $fty) . round( ) , 0.0 ) ;
966
+ $fassert!( ( $nan as $fty) . round( ) . is_nan( ) ) ;
967
+ $fassert!( ( $inf as $fty) . round( ) , $inf) ;
968
+ $fassert!( ( $neginf as $fty) . round( ) , $neginf) ;
969
+ }
970
+ #[ test]
971
+ fn round_ties_even( ) {
972
+ $fassert!( ( 0.0 as $fty) . round_ties_even( ) , 0.0 ) ;
973
+ $fassert!( ( -0.0 as $fty) . round_ties_even( ) , 0.0 ) ;
974
+ $fassert!( ( 0.5 as $fty) . round_ties_even( ) , 0.0 ) ;
975
+ $fassert!( ( -0.5 as $fty) . round_ties_even( ) , -0.0 ) ;
976
+ $fassert!( ( $max as $fty) . round_ties_even( ) , $max) ;
977
+ $fassert!( ( $min as $fty) . round_ties_even( ) , $min) ;
978
+ $fassert!( ( $min_pos as $fty) . round_ties_even( ) , 0.0 ) ;
979
+ $fassert!( ( -$min_pos as $fty) . round_ties_even( ) , 0.0 ) ;
980
+ $fassert!( ( $nan as $fty) . round_ties_even( ) . is_nan( ) ) ;
981
+ $fassert!( ( $inf as $fty) . round_ties_even( ) , $inf) ;
982
+ $fassert!( ( $neginf as $fty) . round_ties_even( ) , $neginf) ;
983
+ }
984
+ #[ test]
985
+ fn trunc( ) {
986
+ $fassert!( ( 0.0 as $fty) . trunc( ) , 0.0 ) ;
987
+ $fassert!( ( -0.0 as $fty) . trunc( ) , -0.0 ) ;
988
+ $fassert!( ( 0.5 as $fty) . trunc( ) , 0.0 ) ;
989
+ $fassert!( ( -0.5 as $fty) . trunc( ) , -0.0 ) ;
990
+ $fassert!( ( $max as $fty) . trunc( ) , $max) ;
991
+ $fassert!( ( $min as $fty) . trunc( ) , $min) ;
992
+ $fassert!( ( $min_pos as $fty) . trunc( ) , 0.0 ) ;
993
+ $fassert!( ( -$min_pos as $fty) . trunc( ) , 0.0 ) ;
994
+ $fassert!( ( $nan as $fty) . trunc( ) . is_nan( ) ) ;
995
+ $fassert!( ( $inf as $fty) . trunc( ) , $inf) ;
996
+ $fassert!( ( $neginf as $fty) . trunc( ) , $neginf) ;
997
+ }
927
998
}
928
999
} ;
929
1000
}
0 commit comments