33 template <precision P,
template <
typename, precision>
class vecType>
35 vecType<uint, P>
const & x,
36 vecType<uint, P>
const & y,
37 vecType<uint, P> & carry);
47 template <precision P,
template <
typename, precision>
class vecType>
49 vecType<uint, P>
const & x,
50 vecType<uint, P>
const & y,
51 vecType<uint, P> & borrow);
61 template <precision P,
template <
typename, precision>
class vecType>
63 vecType<uint, P>
const & x,
64 vecType<uint, P>
const & y,
65 vecType<uint, P> & msb,
66 vecType<uint, P> & lsb);
76 template <precision P,
template <
typename, precision>
class vecType>
78 vecType<int, P>
const & x,
79 vecType<int, P>
const & y,
80 vecType<int, P> & msb,
81 vecType<int, P> & lsb);
98 template <
typename T, precision P,
template <
typename, precision>
class vecType>
100 vecType<T, P>
const & Value,
118 template <
typename T, precision P,
template <
typename, precision>
class vecType>
120 vecType<T, P>
const & Base,
121 vecType<T, P>
const & Insert,
133 template <
typename T, precision P,
template <
typename, precision>
class vecType>
142 template <
typename genType>
143 GLM_FUNC_DECL
int bitCount(genType v);
151 template <
typename T, precision P,
template <
typename, precision>
class vecType>
152 GLM_FUNC_DECL vecType<int, P>
bitCount(vecType<T, P>
const & v);
162 template <
typename genIUType>
163 GLM_FUNC_DECL
int findLSB(genIUType x);
173 template <
typename T, precision P,
template <
typename, precision>
class vecType>
174 GLM_FUNC_DECL vecType<int, P>
findLSB(vecType<T, P>
const & v);
185 template <
typename genIUType>
186 GLM_FUNC_DECL
int findMSB(genIUType x);
197 template <
typename T, precision P,
template <
typename, precision>
class vecType>
198 GLM_FUNC_DECL vecType<int, P>
findMSB(vecType<T, P>
const & v);
203 #include "func_integer.inl"
GLM_FUNC_DECL vecType< uint, P > uaddCarry(vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &carry)
Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).
GLM_FUNC_DECL vecType< uint, P > usubBorrow(vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &borrow)
Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.
GLM_FUNC_DECL vecType< T, P > bitfieldInsert(vecType< T, P > const &Base, vecType< T, P > const &Insert, int Offset, int Bits)
Returns the insertion the bits least-significant bits of insert into base.
GLM_FUNC_DECL void umulExtended(vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &msb, vecType< uint, P > &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
GLM_FUNC_DECL vecType< T, P > bitfieldExtract(vecType< T, P > const &Value, int Offset, int Bits)
Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of...
GLM_FUNC_DECL vecType< int, P > findLSB(vecType< T, P > const &v)
Returns the bit number of the least significant bit set to 1 in the binary representation of value...
GLM_FUNC_DECL vecType< T, P > bitfieldReverse(vecType< T, P > const &v)
Returns the reversal of the bits of value.
GLM_FUNC_DECL vecType< int, P > bitCount(vecType< T, P > const &v)
Returns the number of bits set to 1 in the binary representation of value.
GLM_FUNC_DECL void imulExtended(vecType< int, P > const &x, vecType< int, P > const &y, vecType< int, P > &msb, vecType< int, P > &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
GLM_FUNC_DECL vecType< int, P > findMSB(vecType< T, P > const &v)
Returns the bit number of the most significant bit in the binary representation of value...