mirror of
https://github.com/g-truc/glm.git
synced 2024-11-10 12:41:54 +00:00
Fixed reverse
This commit is contained in:
parent
ac1fe72af1
commit
9a11b8155e
@ -394,13 +394,14 @@ namespace glm
|
|||||||
template <typename genIUType>
|
template <typename genIUType>
|
||||||
inline genIUType bitfieldReverse(genIUType const & Value)
|
inline genIUType bitfieldReverse(genIUType const & Value)
|
||||||
{
|
{
|
||||||
GLM_STATIC_ASSERT(std::numeric_limits<genIUType>::is_integer, "'bitfieldReverse' only accept integer values");
|
GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_integer, "'bitRevert' only accept integer values");
|
||||||
|
|
||||||
genIUType Result = 0;
|
genIUType Out = 0;
|
||||||
for(std::size_t i = 0; i < sizeof(genIUType) * std::size_t(8); ++i)
|
std::size_t BitSize = sizeof(genIUType) * 8;
|
||||||
if(Value & (1 << i))
|
for(std::size_t i = 0; i < BitSize; ++i)
|
||||||
Result |= (genIUType(1) << (sizeof(genIUType) * std::size_t(8)) - genIUType(1) - i);
|
if(In & (genIUType(1) << i))
|
||||||
return Result;
|
Out |= genIUType(1) << (BitSize - 1 - i);
|
||||||
|
return Out;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
Loading…
Reference in New Issue
Block a user