@@ -924,6 +924,77 @@ macro_rules! test_float {
924924 assert!( $inf. div_euclid( $nan) . is_nan( ) ) ;
925925 assert!( $nan. div_euclid( $inf) . is_nan( ) ) ;
926926 }
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+ }
927998 }
928999 } ;
9291000}
0 commit comments