GLM_GTC_ulp
Recommended extensions

## Functions

GLM_FUNC_DECL int64 | float_distance (double x, double y)
| Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
GLM_FUNC_DECL int | float_distance (float x, float y)
| Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int64, Q > | float_distance (vec< L, double, Q > const &x, vec< L, double, Q > const &y)
| Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > | float_distance (vec< L, float, Q > const &x, vec< L, float, Q > const &y)
| Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
template<typename genType >
GLM_FUNC_DECL genType | next_float (genType x)
| Return the next ULP value(s) after the input value(s). More...
template<typename genType >
GLM_FUNC_DECL genType | next_float (genType x, int ULPs)
| Return the value(s) ULP distance after the input value(s). More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | next_float (vec< L, T, Q > const &x)
| Return the next ULP value(s) after the input value(s). More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | next_float (vec< L, T, Q > const &x, int ULPs)
| Return the value(s) ULP distance after the input value(s). More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | next_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
| Return the value(s) ULP distance after the input value(s). More...
template<typename genType >
GLM_FUNC_DECL genType | prev_float (genType x)
| Return the previous ULP value(s) before the input value(s). More...
template<typename genType >
GLM_FUNC_DECL genType | prev_float (genType x, int ULPs)
| Return the value(s) ULP distance before the input value(s). More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | prev_float (vec< L, T, Q > const &x)
| Return the previous ULP value(s) before the input value(s). More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | prev_float (vec< L, T, Q > const &x, int ULPs)
| Return the value(s) ULP distance before the input value(s). More...
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > | prev_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
| Return the value(s) ULP distance before the input value(s). More...

## Detailed Description

Include <glm/gtc/ulp.hpp> to use the features of this extension.

Allow the measurement of the accuracy of a function against a reference implementation. This extension works on floating-point data and provide results in ULP.

## Function Documentation

## float_distance() [1/4]

GLM_FUNC_DECL int64 glm::float_distance | ( | double | x,
|  | double | y
| ) |  |

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

See also
  GLM_GTC_ulp

## float_distance() [2/4]

GLM_FUNC_DECL int glm::float_distance | ( | float | x,
|  | float | y
| ) |  |

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

See also
  GLM_GTC_ulp

## float_distance() [3/4]

GLM_FUNC_DECL vec<L, int64, Q> glm::float_distance | ( | vec< L, double, Q > const & | x,
|  | vec< L, double, Q > const & | y
| ) |  |

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  Q | Value from qualifier enum

See also
  GLM_GTC_ulp

## float_distance() [4/4]

GLM_FUNC_DECL vec<L, int, Q> glm::float_distance | ( | vec< L, float, Q > const & | x,
|  | vec< L, float, Q > const & | y
| ) |  |

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  Q | Value from qualifier enum

See also
  GLM_GTC_ulp

## next_float() [1/5]

GLM_FUNC_DECL genType glm::next_float | ( | genType | x | ) |

Return the next ULP value(s) after the input value(s).

Template Parameters

  genType | A floating-point scalar type.

See also
  GLM_GTC_ulp

## next_float() [2/5]

GLM_FUNC_DECL genType glm::next_float | ( | genType | x,
|  | int | ULPs
| ) |  |

Return the value(s) ULP distance after the input value(s).

Template Parameters

  genType | A floating-point scalar type.

See also
  GLM_GTC_ulp

## next_float() [3/5]

GLM_FUNC_DECL vec<L, T, Q> glm::next_float | ( | vec< L, T, Q > const & | x | ) |

Return the next ULP value(s) after the input value(s).

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Floating-point
  Q | Value from qualifier enum

See also
  GLM_GTC_ulp

## next_float() [4/5]

GLM_FUNC_DECL vec<L, T, Q> glm::next_float | ( | vec< L, T, Q > const & | x,
|  | int | ULPs
| ) |  |

Return the value(s) ULP distance after the input value(s).

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Floating-point
  Q | Value from qualifier enum

See also
  GLM_GTC_ulp

## next_float() [5/5]

GLM_FUNC_DECL vec<L, T, Q> glm::next_float | ( | vec< L, T, Q > const & | x,
|  | vec< L, int, Q > const & | ULPs
| ) |  |

Return the value(s) ULP distance after the input value(s).

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Floating-point
  Q | Value from qualifier enum

See also
  GLM_GTC_ulp

## prev_float() [1/5]

GLM_FUNC_DECL genType glm::prev_float | ( | genType | x | ) |

Return the previous ULP value(s) before the input value(s).

Template Parameters

  genType | A floating-point scalar type.

See also
  GLM_GTC_ulp

## prev_float() [2/5]

GLM_FUNC_DECL genType glm::prev_float | ( | genType | x,
|  | int | ULPs
| ) |  |

Return the value(s) ULP distance before the input value(s).

Template Parameters

  genType | A floating-point scalar type.

See also
  GLM_GTC_ulp

## prev_float() [3/5]

GLM_FUNC_DECL vec<L, T, Q> glm::prev_float | ( | vec< L, T, Q > const & | x | ) |

Return the previous ULP value(s) before the input value(s).

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Floating-point
  Q | Value from qualifier enum

See also
  GLM_GTC_ulp

## prev_float() [4/5]

GLM_FUNC_DECL vec<L, T, Q> glm::prev_float | ( | vec< L, T, Q > const & | x,
|  | int | ULPs
| ) |  |

Return the value(s) ULP distance before the input value(s).

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Floating-point
  Q | Value from qualifier enum

See also
  GLM_GTC_ulp

## prev_float() [5/5]

GLM_FUNC_DECL vec<L, T, Q> glm::prev_float | ( | vec< L, T, Q > const & | x,
|  | vec< L, int, Q > const & | ULPs
| ) |  |

Return the value(s) ULP distance before the input value(s).

Template Parameters

  L | Integer between 1 and 4 included that qualify the dimension of the vector
  T | Floating-point
  Q | Value from qualifier enum

See also
  GLM_GTC_ulp