integer.hpp File Reference

Core features More...

Go to the source code of this file.

## Functions

template<typename genType >
GLM_FUNC_DECL int | bitCount (genType v)
| Returns the number of bits set to 1 in the binary representation of value. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > | bitCount (vec< L, T, Q > const &v)
| Returns the number of bits set to 1 in the binary representation of value. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | bitfieldExtract (vec< L, T, Q > const &Value, int Offset, int Bits)
| Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of the result. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | bitfieldInsert (vec< L, T, Q > const &Base, vec< L, T, Q > const &Insert, int Offset, int Bits)
| Returns the insertion the bits least-significant bits of insert into base. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | bitfieldReverse (vec< L, T, Q > const &v)
| Returns the reversal of the bits of value. More...
template<typename genIUType >
GLM_FUNC_DECL int | findLSB (genIUType x)
| Returns the bit number of the least significant bit set to 1 in the binary representation of value. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > | findLSB (vec< L, T, Q > const &v)
| Returns the bit number of the least significant bit set to 1 in the binary representation of value. More...
template<typename genIUType >
GLM_FUNC_DECL int | findMSB (genIUType x)
| Returns the bit number of the most significant bit in the binary representation of value. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > | findMSB (vec< L, T, Q > const &v)
| Returns the bit number of the most significant bit in the binary representation of value. More...
template<length_t L, qualifier Q>
GLM_FUNC_DECL void | imulExtended (vec< L, int, Q > const &x, vec< L, int, Q > const &y, vec< L, int, Q > &msb, vec< L, int, Q > &lsb)
| Multiplies 32-bit integers x and y, producing a 64-bit result. More...
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > | uaddCarry (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &carry)
| Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32). More...
template<length_t L, qualifier Q>
GLM_FUNC_DECL void | umulExtended (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &msb, vec< L, uint, Q > &lsb)
| Multiplies 32-bit integers x and y, producing a 64-bit result. More...
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > | usubBorrow (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &borrow)
| Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise. More...

## Detailed Description

Core features

See also
  GLSL 4.20.8 specification, section 8.8 Integer Functions

Definition in file integer.hpp.