Added 'upperPowerOfTwo' function.
This commit is contained in:
parent
bf5a9f7ab8
commit
575f4824cc
@ -37,6 +37,7 @@ namespace PolyVox
|
|||||||
int32_t roundToInteger(float r);
|
int32_t roundToInteger(float r);
|
||||||
template <typename Type>
|
template <typename Type>
|
||||||
Type clamp(const Type& value, const Type& low, const Type& high);
|
Type clamp(const Type& value, const Type& low, const Type& high);
|
||||||
|
uint32_t upperPowerOfTwo(uint32_t v);
|
||||||
|
|
||||||
inline int32_t roundTowardsNegInf(float r)
|
inline int32_t roundTowardsNegInf(float r)
|
||||||
{
|
{
|
||||||
|
@ -60,4 +60,17 @@ namespace PolyVox
|
|||||||
else
|
else
|
||||||
return ((uInput & (uInput-1)) == 0);
|
return ((uInput & (uInput-1)) == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2
|
||||||
|
uint32_t upperPowerOfTwo(uint32_t v)
|
||||||
|
{
|
||||||
|
v--;
|
||||||
|
v |= v >> 1;
|
||||||
|
v |= v >> 2;
|
||||||
|
v |= v >> 4;
|
||||||
|
v |= v >> 8;
|
||||||
|
v |= v >> 16;
|
||||||
|
v++;
|
||||||
|
return v;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user