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
|
}//isPowerOfTwo
|
||||||
|
|
||||||
namespace ceilPowerOfTwo
|
namespace ceilPowerOfTwo_advanced
|
||||||
{
|
{
|
||||||
template <typename genIUType>
|
template <typename genIUType>
|
||||||
GLM_FUNC_QUALIFIER genIUType highestBitValue(genIUType Value)
|
GLM_FUNC_QUALIFIER genIUType highestBitValue(genIUType Value)
|
||||||
@ -292,7 +292,7 @@ namespace ceilPowerOfTwo
|
|||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
}//namespace ceilPowerOfTwo
|
}//namespace ceilPowerOfTwo_advanced
|
||||||
|
|
||||||
namespace roundPowerOfTwo
|
namespace roundPowerOfTwo
|
||||||
{
|
{
|
||||||
@ -341,6 +341,25 @@ namespace floorPowerOfTwo
|
|||||||
}
|
}
|
||||||
}//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
|
namespace floorMultiple
|
||||||
{
|
{
|
||||||
template <typename genType>
|
template <typename genType>
|
||||||
@ -426,9 +445,10 @@ int main()
|
|||||||
int Error(0);
|
int Error(0);
|
||||||
|
|
||||||
Error += isPowerOfTwo::test();
|
Error += isPowerOfTwo::test();
|
||||||
Error += ceilPowerOfTwo::test();
|
|
||||||
Error += floorPowerOfTwo::test();
|
Error += floorPowerOfTwo::test();
|
||||||
Error += roundPowerOfTwo::test();
|
Error += roundPowerOfTwo::test();
|
||||||
|
Error += ceilPowerOfTwo::test();
|
||||||
|
Error += ceilPowerOfTwo_advanced::test();
|
||||||
|
|
||||||
# ifdef NDEBUG
|
# ifdef NDEBUG
|
||||||
Error += ceilPowerOfTwo::perf();
|
Error += ceilPowerOfTwo::perf();
|
||||||
|
Loading…
Reference in New Issue
Block a user