GLM_EXT_vector_integer
Stable extensions

## Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > | findNSB (vec< L, T, Q > const &Source, vec< L, int, Q > SignificantBitCount)
| Returns the bit number of the Nth 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, bool, Q > | isMultiple (vec< L, T, Q > const &v, T Multiple)
| Return true if the 'Value' is a multiple of 'Multiple'. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > | isMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
| Return true if the 'Value' is a multiple of 'Multiple'. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > | isPowerOfTwo (vec< L, T, Q > const &v)
| Return true if the value is a power of two number. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | nextMultiple (vec< L, T, Q > const &v, T Multiple)
| Higher multiple number of Source. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | nextMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
| Higher multiple number of Source. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | nextPowerOfTwo (vec< L, T, Q > const &v)
| Return the power of two number which value is just higher the input value, round up to a power of two. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | prevMultiple (vec< L, T, Q > const &v, T Multiple)
| Lower multiple number of Source. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | prevMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
| Lower multiple number of Source. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | prevPowerOfTwo (vec< L, T, Q > const &v)
| Return the power of two number which value is just lower the input value, round down to a power of two. More...

## Detailed Description

Include <glm/ext/vector_integer.hpp> to use the features of this extension.

## Function Documentation

## findNSB()

GLM_FUNC_DECL vec<L, int, Q> glm::findNSB | ( | vec< L, T, Q > const & | Source,
|  | vec< L, int, Q > | SignificantBitCount
| ) |  |

Returns the bit number of the Nth significant bit set to 1 in the binary representation of value.

If value bitcount is less than the Nth significant bit, -1 will be returned.

Template Parameters

  L | An integer between 1 and 4 included that qualify the dimension of the vector.
  T | Signed or unsigned integer scalar types.

See also
  GLM_EXT_vector_integer

## isMultiple() [1/2]

GLM_FUNC_DECL vec<L, bool, Q> glm::isMultiple | ( | vec< L, T, Q > const & | v,
|  | T | Multiple
| ) |  |

Return true if the 'Value' is a multiple of 'Multiple'.

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Signed or unsigned integer scalar types.
  Q | Value from qualifier enum

See also
  GLM_EXT_vector_integer

## isMultiple() [2/2]

GLM_FUNC_DECL vec<L, bool, Q> glm::isMultiple | ( | vec< L, T, Q > const & | v,
|  | vec< L, T, Q > const & | Multiple
| ) |  |

Return true if the 'Value' is a multiple of 'Multiple'.

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Signed or unsigned integer scalar types.
  Q | Value from qualifier enum

See also
  GLM_EXT_vector_integer

## isPowerOfTwo()

GLM_FUNC_DECL vec<L, bool, Q> glm::isPowerOfTwo | ( | vec< L, T, Q > const & | v | ) |

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

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Signed or unsigned integer scalar types.
  Q | Value from qualifier enum

See also
  GLM_EXT_vector_integer

## nextMultiple() [1/2]

GLM_FUNC_DECL vec<L, T, Q> glm::nextMultiple | ( | vec< L, T, Q > const & | v,
|  | T | Multiple
| ) |  |

Higher multiple number of Source.

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Signed or unsigned integer scalar types.
  Q | Value from qualifier enum

Parameters

  v | Source values to which is applied the function
  Multiple | Must be a null or positive value

See also
  GLM_EXT_vector_integer

## nextMultiple() [2/2]

GLM_FUNC_DECL vec<L, T, Q> glm::nextMultiple | ( | vec< L, T, Q > const & | v,
|  | vec< L, T, Q > const & | Multiple
| ) |  |

Higher multiple number of Source.

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Signed or unsigned integer scalar types.
  Q | Value from qualifier enum

Parameters

  v | Source values to which is applied the function
  Multiple | Must be a null or positive value

See also
  GLM_EXT_vector_integer

## nextPowerOfTwo()

GLM_FUNC_DECL vec<L, T, Q> glm::nextPowerOfTwo | ( | vec< L, T, Q > const & | v | ) |

Return the power of two number which value is just higher the input value, round up to a power of two.

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Signed or unsigned integer scalar types.
  Q | Value from qualifier enum

See also
  GLM_EXT_vector_integer

## prevMultiple() [1/2]

GLM_FUNC_DECL vec<L, T, Q> glm::prevMultiple | ( | vec< L, T, Q > const & | v,
|  | T | Multiple
| ) |  |

Lower multiple number of Source.

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Signed or unsigned integer scalar types.
  Q | Value from qualifier enum

Parameters

  v | Source values to which is applied the function
  Multiple | Must be a null or positive value

See also
  GLM_EXT_vector_integer

## prevMultiple() [2/2]

GLM_FUNC_DECL vec<L, T, Q> glm::prevMultiple | ( | vec< L, T, Q > const & | v,
|  | vec< L, T, Q > const & | Multiple
| ) |  |

Lower multiple number of Source.

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Signed or unsigned integer scalar types.
  Q | Value from qualifier enum

Parameters

  v | Source values to which is applied the function
  Multiple | Must be a null or positive value

See also
  GLM_EXT_vector_integer

## prevPowerOfTwo()

GLM_FUNC_DECL vec<L, T, Q> glm::prevPowerOfTwo | ( | vec< L, T, Q > const & | v | ) |

Return the power of two number which value is just lower the input value, round down to a power of two.

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Signed or unsigned integer scalar types.
  Q | Value from qualifier enum

See also
  GLM_EXT_vector_integer