From 872aa9d8ec939309c3382cd91bbfde049186cd1d Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 29 Apr 2016 17:31:36 +0200 Subject: [PATCH] Improved ***PowerOfTwo --- test/gtc/gtc_round.cpp | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/test/gtc/gtc_round.cpp b/test/gtc/gtc_round.cpp index ba57a786..bfb7e552 100644 --- a/test/gtc/gtc_round.cpp +++ b/test/gtc/gtc_round.cpp @@ -174,7 +174,7 @@ namespace isPowerOfTwo } }//isPowerOfTwo -namespace ceilPowerOfTwo +namespace ceilPowerOfTwo_advanced { template GLM_FUNC_QUALIFIER genIUType highestBitValue(genIUType Value) @@ -292,7 +292,7 @@ namespace ceilPowerOfTwo return Error; } -}//namespace ceilPowerOfTwo +}//namespace ceilPowerOfTwo_advanced namespace roundPowerOfTwo { @@ -341,6 +341,25 @@ namespace floorPowerOfTwo } }//namespace floorPowerOfTwo +namespace ceilPowerOfTwo +{ + int test() + { + int Error = 0; + + glm::uint32 const A = glm::ceilPowerOfTwo(7u); + Error += A == 8u ? 0 : 1; + + glm::uint32 const B = glm::ceilPowerOfTwo(15u); + Error += B == 16u ? 0 : 1; + + glm::uint32 const C = glm::ceilPowerOfTwo(31u); + Error += C == 32u ? 0 : 1; + + return Error; + } +}//namespace ceilPowerOfTwo + namespace floorMultiple { template @@ -426,10 +445,11 @@ int main() int Error(0); Error += isPowerOfTwo::test(); - Error += ceilPowerOfTwo::test(); Error += floorPowerOfTwo::test(); Error += roundPowerOfTwo::test(); - + Error += ceilPowerOfTwo::test(); + Error += ceilPowerOfTwo_advanced::test(); + # ifdef NDEBUG Error += ceilPowerOfTwo::perf(); # endif//NDEBUG