0.9.9 API documenation
Functions
GLM_GTC_bitfield

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

Functions

template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)
 Set to 1 a range of bits. More...
 
template<length_t L, typename T , qualifier P>
GLM_FUNC_DECL vec< L, T, P > bitfieldFillOne (vec< L, T, P > const &Value, int FirstBit, int BitCount)
 Set to 1 a range of bits. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)
 Set to 0 a range of bits. More...
 
template<length_t L, typename T , qualifier P>
GLM_FUNC_DECL vec< L, T, P > bitfieldFillZero (vec< L, T, P > const &Value, int FirstBit, int BitCount)
 Set to 0 a range of bits. More...
 
GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
 Interleaves the bits of x, y, z and w. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateLeft (genIUType In, int Shift)
 Rotate all bits to the left. More...
 
template<length_t L, typename T , qualifier P>
GLM_FUNC_DECL vec< L, T, P > bitfieldRotateLeft (vec< L, T, P > const &In, int Shift)
 Rotate all bits to the left. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateRight (genIUType In, int Shift)
 Rotate all bits to the right. More...
 
template<length_t L, typename T , qualifier P>
GLM_FUNC_DECL vec< L, T, P > bitfieldRotateRight (vec< L, T, P > const &In, int Shift)
 Rotate all bits to the right. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mask (genIUType Bits)
 Build a mask of 'count' bits. More...
 
template<typename T , qualifier P, template< typename, qualifier > class vecIUType>
GLM_FUNC_DECL vecIUType< T, P > mask (vecIUType< T, P > const &v)
 Build a mask of 'count' bits. More...
 

Detailed Description

Allow to perform bit operations on integer values.

<glm/gtc/bitfield.hpp> need to be included to use these functionalities.

Function Documentation

GLM_FUNC_DECL genIUType glm::bitfieldFillOne ( genIUType  Value,
int  FirstBit,
int  BitCount 
)

Set to 1 a range of bits.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL vec<L, T, P> glm::bitfieldFillOne ( vec< L, T, P > const &  Value,
int  FirstBit,
int  BitCount 
)

Set to 1 a range of bits.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL genIUType glm::bitfieldFillZero ( genIUType  Value,
int  FirstBit,
int  BitCount 
)

Set to 0 a range of bits.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL vec<L, T, P> glm::bitfieldFillZero ( vec< L, T, P > const &  Value,
int  FirstBit,
int  BitCount 
)

Set to 0 a range of bits.

See also
GLM_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
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_GTC_bitfield
GLM_FUNC_DECL genIUType glm::bitfieldRotateLeft ( genIUType  In,
int  Shift 
)

Rotate all bits to the left.

All the bits dropped in the left side are inserted back on the right side.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL vec<L, T, P> glm::bitfieldRotateLeft ( vec< L, T, P > const &  In,
int  Shift 
)

Rotate all bits to the left.

All the bits dropped in the left side are inserted back on the right side.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL genIUType glm::bitfieldRotateRight ( genIUType  In,
int  Shift 
)

Rotate all bits to the right.

All the bits dropped in the right side are inserted back on the left side.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL vec<L, T, P> glm::bitfieldRotateRight ( vec< L, T, P > const &  In,
int  Shift 
)

Rotate all bits to the right.

All the bits dropped in the right side are inserted back on the left side.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL genIUType glm::mask ( genIUType  Bits)

Build a mask of 'count' bits.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL vecIUType<T, P> glm::mask ( vecIUType< T, P > const &  v)

Build a mask of 'count' bits.

See also
GLM_GTC_bitfield