diff options
author | Dylan McKay <dylanmckay34@gmail.com> | 2016-06-02 09:00:53 +0000 |
---|---|---|
committer | Dylan McKay <dylanmckay34@gmail.com> | 2016-06-02 09:00:53 +0000 |
commit | a9ba12d8b035fb1b11f8d9a83bded1c951c62a89 (patch) | |
tree | cc5db8675e7944aa8cd9e53b3fbcc02988620df3 /llvm/unittests/Support/MathExtrasTest.cpp | |
parent | 7ae684a8b48aee6bb67f1acd3221b458fb7cea05 (diff) | |
download | bcm5719-llvm-a9ba12d8b035fb1b11f8d9a83bded1c951c62a89.tar.gz bcm5719-llvm-a9ba12d8b035fb1b11f8d9a83bded1c951c62a89.zip |
Add tests to Support/MathExtras
In r271380, I added several functions to get the minimum/maximum values
of n-width integers.
This just adds tests for them.
llvm-svn: 271505
Diffstat (limited to 'llvm/unittests/Support/MathExtrasTest.cpp')
-rw-r--r-- | llvm/unittests/Support/MathExtrasTest.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/llvm/unittests/Support/MathExtrasTest.cpp b/llvm/unittests/Support/MathExtrasTest.cpp index 042f640ba84..04e16628e64 100644 --- a/llvm/unittests/Support/MathExtrasTest.cpp +++ b/llvm/unittests/Support/MathExtrasTest.cpp @@ -106,6 +106,35 @@ TEST(MathExtras, findLastSet) { EXPECT_EQ(5u, findLastSet(NZ64)); } +TEST(MathExtras, isIntN) { + EXPECT_TRUE(isIntN(16, 32767)); + EXPECT_FALSE(isIntN(16, 32768)); +} + +TEST(MathExtras, isUIntN) { + EXPECT_TRUE(isUIntN(16, 65535)); + EXPECT_FALSE(isUIntN(16, 65536)); + EXPECT_TRUE(isUIntN(1, 0)); + EXPECT_TRUE(isUIntN(6, 63)); +} + +TEST(MathExtras, maxIntN) { + EXPECT_EQ(32767, maxIntN(16)); + EXPECT_EQ(2147483647, maxIntN(32)); +} + +TEST(MathExtras, minIntN) { + EXPECT_EQ(-32768LL, minIntN(16)); + EXPECT_EQ(-64LL, minIntN(7)); +} + +TEST(MathExtras, maxUIntN) { + EXPECT_EQ(0xffffULL, maxUIntN(16)); + EXPECT_EQ(0xffffffffULL, maxUIntN(32)); + EXPECT_EQ(1ULL, maxUIntN(1)); + EXPECT_EQ(0x0fULL, maxUIntN(4)); +} + TEST(MathExtras, reverseBits) { uint8_t NZ8 = 42; uint16_t NZ16 = 42; |