From: Vikram S. Adve Date: Tue, 28 Aug 2001 23:28:10 +0000 (+0000) Subject: Driver to test IsPowerOf2. Could be extended for other library routines. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=0eca9ed813c0088d97e0e19127520e4f3bd7d75a;p=oota-llvm.git Driver to test IsPowerOf2. Could be extended for other library routines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@408 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/tests/testPow2.cpp b/tools/tests/testPow2.cpp new file mode 100644 index 00000000000..25f0ecd3a61 --- /dev/null +++ b/tools/tests/testPow2.cpp @@ -0,0 +1,46 @@ +/* -*-c++-*- */ + +#include +#include +#include "/home/vadve/vadve/Research/DynOpt/LLVM/llvm/include/llvm/Support/MathExtras.h" + +inline void +testPow(int C, bool isPow) +{ + unsigned pow = 0; + bool testIsPow = IsPowerOf2(C, pow); + if (isPow != testIsPow) + printf("ERROR: IsPowerOf2() says \t%d %s a power of 2 = %d\n", + C, (isPow? "IS" : "IS NOT"), pow); + +#undef PRINT_CORRECT_RESULTS +#ifdef PRINT_CORRECT_RESULTS + else + printf("CORRECT: IsPowerOf2() says \t%d %s a power of 2 = %d\n", + C, (isPow? "IS" : "IS NOT"), pow); +#endif PRINT_CORRECT_RESULTS +} + +int +main(int argc, char** argv) +{ + unsigned L = (argc > 1)? atoi(argv[1]) : 16; + unsigned C = 1; + + testPow(0, false); + + for (unsigned i = 1; i < L; i++, C = C << 1) + { + testPow(C, true); + testPow(-C, true); + for (unsigned j = C+1; j < (C << 1); j++) + { + testPow(j, false); + testPow(-j, false); + } + } + + return 0; +} + +