Functions | |
template<typename genType > | |
genType | bitRevert (genType const &value) |
template<typename genType > | |
genType | bitRotateLeft (genType const &In, std::size_t Shift) |
template<typename genType > | |
genType | bitRotateRight (genType const &In, std::size_t Shift) |
template<typename genIUType , typename sizeType > | |
genIUType | extractField (genIUType const &v, sizeType const &first, sizeType const &count) |
template<typename genIUType > | |
genIUType | fillBitfieldWithOne (genIUType const &Value, int const &FromBit, int const &ToBit) |
template<typename genIUType > | |
genIUType | fillBitfieldWithZero (genIUType const &Value, int const &FromBit, int const &ToBit) |
template<typename genType > | |
int | highestBit (genType const &value) |
template<typename genType > | |
genType | highestBitValue (genType const &value) |
template<typename genType > | |
bool | isPowerOfTwo (genType const &value) |
template<typename genType > | |
int | lowestBit (genType const &value) |
template<typename genIType > | |
genIType | mask (genIType const &count) |
template<typename genType > | |
genType | powerOfTwoAbove (genType const &value) |
template<typename genType > | |
genType | powerOfTwoBelow (genType const &value) |
template<typename genType > | |
genType | powerOfTwoNearest (genType const &value) |
Allow to perform bit operations on integer values.
<glm/gtx/bit.hpp> need to be included to use these functionalities.
genType glm::bitRevert | ( | genType const & | value | ) |
Revert all bits of any integer based type.
genType glm::bitRotateLeft | ( | genType const & | In, |
std::size_t | Shift | ||
) |
Rotate all bits to the left.
genType glm::bitRotateRight | ( | genType const & | In, |
std::size_t | Shift | ||
) |
Rotate all bits to the right.
genIUType glm::extractField | ( | genIUType const & | v, |
sizeType const & | first, | ||
sizeType const & | count | ||
) |
Component wise extraction of bit fields.
genType and genIType could be a scalar or a vector.
genIUType glm::fillBitfieldWithOne | ( | genIUType const & | Value, |
int const & | FromBit, | ||
int const & | ToBit | ||
) |
Set to 1 a range of bits.
genIUType glm::fillBitfieldWithZero | ( | genIUType const & | Value, |
int const & | FromBit, | ||
int const & | ToBit | ||
) |
Set to 0 a range of bits.
int glm::highestBit | ( | genType const & | value | ) |
Find the highest bit set to 1 in a integer variable.
genType glm::highestBitValue | ( | genType const & | value | ) |
Find the highest bit set to 1 in a integer variable and return its value.
bool glm::isPowerOfTwo | ( | genType const & | value | ) |
Return true if the value is a power of two number.
int glm::lowestBit | ( | genType const & | value | ) |
Find the lowest bit set to 1 in a integer variable.
genIType glm::mask | ( | genIType const & | count | ) |
Build a mask of 'count' bits.
genType glm::powerOfTwoAbove | ( | genType const & | value | ) |
Return the power of two number which value is just higher the input value.
genType glm::powerOfTwoBelow | ( | genType const & | value | ) |
Return the power of two number which value is just lower the input value.
genType glm::powerOfTwoNearest | ( | genType const & | value | ) |
Return the power of two number which value is the closet to the input value.