Another test to exercise APInt divide step D6.

This is divrem_big7 since divrem_big6 is used in Pawel upcoming patch.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235536 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Yaron Keren committed 2015-04-22 18:49:59 +00:00
1 parent 3c55df1e84
commit 2adb40ecb6
1 file changed
+13
+13
View File
@@ -409,6 +409,19 @@ TEST(APIntTest, divrem_big5) {
EXPECT_EQ(r, c);
}
TEST(APIntTest, divrem_big7) {
// Yet another test for KnuthDiv rare step D6.
APInt a{224, "800000008000000200000005", 16};
APInt b{224, "fffffffd", 16};
APInt c{224, "80000000800000010000000f", 16};
auto p = a * b + c;
auto q = p.udiv(a);
auto r = p.urem(a);
EXPECT_EQ(q, b);
EXPECT_EQ(r, c);
}
TEST(APIntTest, fromString) {
EXPECT_EQ(APInt(32, 0), APInt(32, "0", 2));
EXPECT_EQ(APInt(32, 1), APInt(32, "1", 2));