mirror of
https://github.com/g-truc/glm.git
synced 2024-11-30 03:44:38 +00:00
Improved ***PowerOfTwo
This commit is contained in:
parent
68ec048b70
commit
872aa9d8ec
@ -174,7 +174,7 @@ namespace isPowerOfTwo
|
||||
}
|
||||
}//isPowerOfTwo
|
||||
|
||||
namespace ceilPowerOfTwo
|
||||
namespace ceilPowerOfTwo_advanced
|
||||
{
|
||||
template <typename genIUType>
|
||||
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 <typename genType>
|
||||
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user