Functions

glm::core::function::integer Namespace Reference

Define integer functions from Section 8.8 of GLSL 4.00.8 specification. More...

Functions

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

Detailed Description

Define integer functions from Section 8.8 of GLSL 4.00.8 specification.