Allow to perform bit operations on integer values. More...
Functions | |
GLM_FUNC_DECL int16 | glm::bitfieldInterleave (int8 x, int8 y) |
GLM_FUNC_DECL uint16 | glm::bitfieldInterleave (uint8 x, uint8 y) |
GLM_FUNC_DECL int32 | glm::bitfieldInterleave (int16 x, int16 y) |
GLM_FUNC_DECL uint32 | glm::bitfieldInterleave (uint16 x, uint16 y) |
GLM_FUNC_DECL int64 | glm::bitfieldInterleave (int32 x, int32 y) |
GLM_FUNC_DECL uint64 | glm::bitfieldInterleave (uint32 x, uint32 y) |
GLM_FUNC_DECL int32 | glm::bitfieldInterleave (int8 x, int8 y, int8 z) |
GLM_FUNC_DECL uint32 | glm::bitfieldInterleave (uint8 x, uint8 y, uint8 z) |
GLM_FUNC_DECL int64 | glm::bitfieldInterleave (int16 x, int16 y, int16 z) |
GLM_FUNC_DECL uint64 | glm::bitfieldInterleave (uint16 x, uint16 y, uint16 z) |
GLM_FUNC_DECL int64 | glm::bitfieldInterleave (int32 x, int32 y, int32 z) |
GLM_FUNC_DECL uint64 | glm::bitfieldInterleave (uint32 x, uint32 y, uint32 z) |
GLM_FUNC_DECL int32 | glm::bitfieldInterleave (int8 x, int8 y, int8 z, int8 w) |
GLM_FUNC_DECL uint32 | glm::bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w) |
GLM_FUNC_DECL int64 | glm::bitfieldInterleave (int16 x, int16 y, int16 z, int16 w) |
GLM_FUNC_DECL uint64 | glm::bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w) |
template<typename genType > | |
GLM_DEPRECATED GLM_FUNC_DECL genType | glm::bitRevert (genType const &value) |
template<typename genType > | |
GLM_FUNC_DECL genType | glm::bitRotateLeft (genType const &In, std::size_t Shift) |
template<typename genType > | |
GLM_FUNC_DECL genType | glm::bitRotateRight (genType const &In, std::size_t Shift) |
template<typename genIUType > | |
GLM_FUNC_DECL genIUType | glm::fillBitfieldWithOne (genIUType const &Value, int const &FromBit, int const &ToBit) |
template<typename genIUType > | |
GLM_FUNC_DECL genIUType | glm::fillBitfieldWithZero (genIUType const &Value, int const &FromBit, int const &ToBit) |
template<typename genType > | |
GLM_FUNC_DECL genType | glm::highestBitValue (genType const &value) |
template<typename genType > | |
GLM_FUNC_DECL bool | glm::isPowerOfTwo (genType const &value) |
template<typename genIType > | |
GLM_FUNC_DECL genIType | glm::mask (genIType const &count) |
template<typename genType > | |
GLM_FUNC_DECL genType | glm::powerOfTwoAbove (genType const &value) |
template<typename genType > | |
GLM_FUNC_DECL genType | glm::powerOfTwoBelow (genType const &value) |
template<typename genType > | |
GLM_FUNC_DECL genType | glm::powerOfTwoNearest (genType const &value) |
Allow to perform bit operations on integer values.
<glm/gtx/bit.hpp> need to be included to use these functionalities.
GLM_FUNC_DECL int16 glm::bitfieldInterleave | ( | int8 | x, |
int8 | y | ||
) |
Interleaves the bits of x and y. The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL uint16 glm::bitfieldInterleave | ( | uint8 | x, |
uint8 | y | ||
) |
Interleaves the bits of x and y. The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL int32 glm::bitfieldInterleave | ( | int16 | x, |
int16 | y | ||
) |
Interleaves the bits of x and y. The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL uint32 glm::bitfieldInterleave | ( | uint16 | x, |
uint16 | y | ||
) |
Interleaves the bits of x and y. The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL int64 glm::bitfieldInterleave | ( | int32 | x, |
int32 | y | ||
) |
Interleaves the bits of x and y. The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL uint64 glm::bitfieldInterleave | ( | uint32 | x, |
uint32 | y | ||
) |
Interleaves the bits of x and y. The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL int32 glm::bitfieldInterleave | ( | int8 | x, |
int8 | y, | ||
int8 | z | ||
) |
Interleaves the bits of x, y and z. The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL uint32 glm::bitfieldInterleave | ( | uint8 | x, |
uint8 | y, | ||
uint8 | z | ||
) |
Interleaves the bits of x, y and z. The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL int64 glm::bitfieldInterleave | ( | int16 | x, |
int16 | y, | ||
int16 | z | ||
) |
Interleaves the bits of x, y and z. The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL uint64 glm::bitfieldInterleave | ( | uint16 | x, |
uint16 | y, | ||
uint16 | z | ||
) |
Interleaves the bits of x, y and z. The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL int64 glm::bitfieldInterleave | ( | int32 | x, |
int32 | y, | ||
int32 | z | ||
) |
Interleaves the bits of x, y and z. The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL uint64 glm::bitfieldInterleave | ( | uint32 | x, |
uint32 | y, | ||
uint32 | z | ||
) |
Interleaves the bits of x, y and z. The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL int32 glm::bitfieldInterleave | ( | int8 | x, |
int8 | y, | ||
int8 | z, | ||
int8 | w | ||
) |
Interleaves the bits of x, y, z and w. The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL uint32 glm::bitfieldInterleave | ( | uint8 | x, |
uint8 | y, | ||
uint8 | z, | ||
uint8 | w | ||
) |
Interleaves the bits of x, y, z and w. The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL int64 glm::bitfieldInterleave | ( | int16 | x, |
int16 | y, | ||
int16 | z, | ||
int16 | w | ||
) |
Interleaves the bits of x, y, z and w. The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.
GLM_FUNC_DECL uint64 glm::bitfieldInterleave | ( | uint16 | x, |
uint16 | y, | ||
uint16 | z, | ||
uint16 | w | ||
) |
Interleaves the bits of x, y, z and w. The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.
GLM_DEPRECATED GLM_FUNC_DECL genType glm::bitRevert | ( | genType const & | value | ) |
Revert all bits of any integer based type.
GLM_FUNC_DECL genType glm::bitRotateLeft | ( | genType const & | In, |
std::size_t | Shift | ||
) |
Rotate all bits to the left.
GLM_FUNC_DECL genType glm::bitRotateRight | ( | genType const & | In, |
std::size_t | Shift | ||
) |
Rotate all bits to the right.
GLM_FUNC_DECL genIUType glm::fillBitfieldWithOne | ( | genIUType const & | Value, |
int const & | FromBit, | ||
int const & | ToBit | ||
) |
Set to 1 a range of bits.
GLM_FUNC_DECL genIUType glm::fillBitfieldWithZero | ( | genIUType const & | Value, |
int const & | FromBit, | ||
int const & | ToBit | ||
) |
Set to 0 a range of bits.
GLM_FUNC_DECL genType glm::highestBitValue | ( | genType const & | value | ) |
Find the highest bit set to 1 in a integer variable and return its value.
GLM_FUNC_DECL bool glm::isPowerOfTwo | ( | genType const & | value | ) |
Return true if the value is a power of two number.
GLM_FUNC_DECL genIType glm::mask | ( | genIType const & | count | ) |
Build a mask of 'count' bits
GLM_FUNC_DECL genType glm::powerOfTwoAbove | ( | genType const & | value | ) |
Return the power of two number which value is just higher the input value.
GLM_FUNC_DECL genType glm::powerOfTwoBelow | ( | genType const & | value | ) |
Return the power of two number which value is just lower the input value.
GLM_FUNC_DECL genType glm::powerOfTwoNearest | ( | genType const & | value | ) |
Return the power of two number which value is the closet to the input value.