Functions

GLM_GTX_bit: Extended bitwise operations

GTX Extensions (Experimental)

Allow to perform bit operations on integer values. More...

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)

Detailed Description

Allow to perform bit operations on integer values.

<glm/gtx/bit.hpp> need to be included to use these functionalities.


Function Documentation

genType glm::bitRevert ( genType const &  value)

Revert all bits of any integer based type.

From GLM_GTX_bit extension.

genType glm::bitRotateLeft ( genType const &  In,
std::size_t  Shift 
)

Rotate all bits to the left.

From GLM_GTX_bit extension.

genType glm::bitRotateRight ( genType const &  In,
std::size_t  Shift 
)

Rotate all bits to the right.

From GLM_GTX_bit extension.

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. From GLM_GTX_bit extension.

genIUType glm::fillBitfieldWithOne ( genIUType const &  Value,
int const &  FromBit,
int const &  ToBit 
)

Set to 1 a range of bits.

From GLM_GTX_bit extension.

genIUType glm::fillBitfieldWithZero ( genIUType const &  Value,
int const &  FromBit,
int const &  ToBit 
)

Set to 0 a range of bits.

From GLM_GTX_bit extension.

int glm::highestBit ( genType const &  value)

Find the highest bit set to 1 in a integer variable.

From GLM_GTX_bit extension.

genType glm::highestBitValue ( genType const &  value)

Find the highest bit set to 1 in a integer variable and return its value.

From GLM_GTX_bit extension.

bool glm::isPowerOfTwo ( genType const &  value)

Return true if the value is a power of two number.

From GLM_GTX_bit extension.

int glm::lowestBit ( genType const &  value)

Find the lowest bit set to 1 in a integer variable.

From GLM_GTX_bit extension.

genIType glm::mask ( genIType const &  count)

Build a mask of 'count' bits From GLM_GTX_bit extension.

genType glm::powerOfTwoAbove ( genType const &  value)

Return the power of two number which value is just higher the input value.

From GLM_GTX_bit extension.

genType glm::powerOfTwoBelow ( genType const &  value)

Return the power of two number which value is just lower the input value.

From GLM_GTX_bit extension.

genType glm::powerOfTwoNearest ( genType const &  value)

Return the power of two number which value is the closet to the input value.

From GLM_GTX_bit extension.