projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3c55df1
)
Another test to exercise APInt divide step D6.
author
Yaron Keren
<yaron.keren@gmail.com>
Wed, 22 Apr 2015 18:49:59 +0000
(18:49 +0000)
committer
Yaron Keren
<yaron.keren@gmail.com>
Wed, 22 Apr 2015 18:49:59 +0000
(18:49 +0000)
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
unittests/ADT/APIntTest.cpp
patch
|
blob
|
history
diff --git
a/unittests/ADT/APIntTest.cpp
b/unittests/ADT/APIntTest.cpp
index acdc1ecbbdee03e029c1329afe605e06d6ab7373..a8fc3629cdb8fab44935c5d30e5504c0127f7d8f 100644
(file)
--- a/
unittests/ADT/APIntTest.cpp
+++ b/
unittests/ADT/APIntTest.cpp
@@
-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));