GLM: GLM_GTX_bit

GLM 0.9.5

- Main Page
- Related Pages
- Modules
- Namespaces
- Files

Functions
GLM_GTX_bit
GTX Extensions (Experimental)

## Functions
GLM_FUNC_DECL int16 | bitfieldInterleave (int8 x, int8 y)
GLM_FUNC_DECL uint16 | bitfieldInterleave (uint8 x, uint8 y)
GLM_FUNC_DECL int32 | bitfieldInterleave (int16 x, int16 y)
GLM_FUNC_DECL uint32 | bitfieldInterleave (uint16 x, uint16 y)
GLM_FUNC_DECL int64 | bitfieldInterleave (int32 x, int32 y)
GLM_FUNC_DECL uint64 | bitfieldInterleave (uint32 x, uint32 y)
GLM_FUNC_DECL int32 | bitfieldInterleave (int8 x, int8 y, int8 z)
GLM_FUNC_DECL uint32 | bitfieldInterleave (uint8 x, uint8 y, uint8 z)
GLM_FUNC_DECL int64 | bitfieldInterleave (int16 x, int16 y, int16 z)
GLM_FUNC_DECL uint64 | bitfieldInterleave (uint16 x, uint16 y, uint16 z)
GLM_FUNC_DECL int64 | bitfieldInterleave (int32 x, int32 y, int32 z)
GLM_FUNC_DECL uint64 | bitfieldInterleave (uint32 x, uint32 y, uint32 z)
GLM_FUNC_DECL int32 | bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
GLM_FUNC_DECL uint32 | bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
GLM_FUNC_DECL int64 | bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
GLM_FUNC_DECL uint64 | bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
template<typename genType >
GLM_DEPRECATED GLM_FUNC_DECL genType | bitRevert (genType const &value)
template<typename genType >
GLM_FUNC_DECL genType | bitRotateLeft (genType const &In, std::size_t Shift)
template<typename genType >
GLM_FUNC_DECL genType | bitRotateRight (genType const &In, std::size_t Shift)
template<typename genIUType >
GLM_FUNC_DECL genIUType | fillBitfieldWithOne (genIUType const &Value, int const &FromBit, int const &ToBit)
template<typename genIUType >
GLM_FUNC_DECL genIUType | fillBitfieldWithZero (genIUType const &Value, int const &FromBit, int const &ToBit)
template<typename genType >
GLM_FUNC_DECL genType | highestBitValue (genType const &value)
template<typename genType >
GLM_FUNC_DECL bool | isPowerOfTwo (genType const &value)
template<typename genIType >
GLM_FUNC_DECL genIType | mask (genIType const &count)
template<typename genType >
GLM_FUNC_DECL genType | powerOfTwoAbove (genType const &value)
template<typename genType >
GLM_FUNC_DECL genType | powerOfTwoBelow (genType const &value)
template<typename genType >
GLM_FUNC_DECL 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

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

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.

See Also
  GLM_GTX_bit

GLM_DEPRECATED GLM_FUNC_DECL genType glm::bitRevert | ( | genType const & | value | ) |

Revert all bits of any integer based type.

See Also
  GLM_GTX_bit

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

Rotate all bits to the left.

See Also
  GLM_GTX_bit

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

Rotate all bits to the right.

See Also
  GLM_GTX_bit

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

Set to 1 a range of bits.

See Also
  GLM_GTX_bit

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

Set to 0 a range of bits.

See Also
  GLM_GTX_bit

GLM_FUNC_DECL genType glm::highestBitValue | ( | genType const & | value | ) |

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

See Also
  GLM_GTX_bit

GLM_FUNC_DECL bool glm::isPowerOfTwo | ( | genType const & | value | ) |

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

See Also
  GLM_GTX_bit

GLM_FUNC_DECL genIType glm::mask | ( | genIType const & | count | ) |

Build a mask of 'count' bits.

See Also
  GLM_GTX_bit

GLM_FUNC_DECL genType glm::powerOfTwoAbove | ( | genType const & | value | ) |

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

See Also
  GLM_GTX_bit

GLM_FUNC_DECL genType glm::powerOfTwoBelow | ( | genType const & | value | ) |

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

See Also
  GLM_GTX_bit

GLM_FUNC_DECL genType glm::powerOfTwoNearest | ( | genType const & | value | ) |

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

See Also
  GLM_GTX_bit