Skip to content

Commit 02d6f96

Browse files
committed
test: add tests that we expect to pass when float rounding becomes const
1 parent 45f256d commit 02d6f96

File tree

1 file changed

+71
-0
lines changed
  • library/coretests/tests/num

1 file changed

+71
-0
lines changed

library/coretests/tests/num/mod.rs

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)