GLM_EXT_scalar_common
Stable extensions

## Functions

template<typename genType >
GLM_FUNC_DECL genType | clamp (genType const &Texcoord)
| Simulate GL_CLAMP OpenGL wrap mode. More...
template<typename genType >
GLM_FUNC_DECL genType | fclamp (genType x, genType minVal, genType maxVal)
| Returns min(max(x, minVal), maxVal) for each component in x. More...
template<typename T >
GLM_FUNC_DECL T | fmax (T a, T b)
| Returns the maximum component-wise values of 2 inputs. More...
template<typename T >
GLM_FUNC_DECL T | fmax (T a, T b, T C)
| Returns the maximum component-wise values of 3 inputs. More...
template<typename T >
GLM_FUNC_DECL T | fmax (T a, T b, T C, T D)
| Returns the maximum component-wise values of 4 inputs. More...
template<typename T >
GLM_FUNC_DECL T | fmin (T a, T b)
| Returns the minimum component-wise values of 2 inputs. More...
template<typename T >
GLM_FUNC_DECL T | fmin (T a, T b, T c)
| Returns the minimum component-wise values of 3 inputs. More...
template<typename T >
GLM_FUNC_DECL T | fmin (T a, T b, T c, T d)
| Returns the minimum component-wise values of 4 inputs. More...
template<typename genType >
GLM_FUNC_DECL int | iround (genType const &x)
| Returns a value equal to the nearest integer to x. More...
template<typename T >
GLM_FUNC_DECL T | max (T a, T b, T c)
| Returns the maximum component-wise values of 3 inputs. More...
template<typename T >
GLM_FUNC_DECL T | max (T a, T b, T c, T d)
| Returns the maximum component-wise values of 4 inputs. More...
template<typename T >
GLM_FUNC_DECL T | min (T a, T b, T c)
| Returns the minimum component-wise values of 3 inputs. More...
template<typename T >
GLM_FUNC_DECL T | min (T a, T b, T c, T d)
| Returns the minimum component-wise values of 4 inputs. More...
template<typename genType >
GLM_FUNC_DECL genType | mirrorClamp (genType const &Texcoord)
| Simulate GL_MIRRORED_REPEAT OpenGL wrap mode. More...
template<typename genType >
GLM_FUNC_DECL genType | mirrorRepeat (genType const &Texcoord)
| Simulate GL_MIRROR_REPEAT OpenGL wrap mode. More...
template<typename genType >
GLM_FUNC_DECL genType | repeat (genType const &Texcoord)
| Simulate GL_REPEAT OpenGL wrap mode. More...
template<typename genType >
GLM_FUNC_DECL uint | uround (genType const &x)
| Returns a value equal to the nearest integer to x. More...

## Detailed Description

Exposes min and max functions for 3 to 4 scalar parameters.

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

See also
  Common functions
  GLM_EXT_vector_common

## Function Documentation

## clamp()

GLM_FUNC_DECL genType glm::clamp | ( | genType const & | Texcoord | ) |

Simulate GL_CLAMP OpenGL wrap mode.

Template Parameters

  genType | Floating-point scalar types.

See also
  GLM_EXT_scalar_common extension.

## fclamp()

GLM_FUNC_DECL genType glm::fclamp | ( | genType | x,
|  | genType | minVal,
|  | genType | maxVal
| ) |  |

Returns min(max(x, minVal), maxVal) for each component in x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters

  genType | Floating-point scalar types.

See also
  GLM_EXT_scalar_common

## fmax() [1/3]

GLM_FUNC_DECL T glm::fmax | ( | T | a,
|  | T | b
| ) |  |

Returns the maximum component-wise values of 2 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters

  T | A floating-point scalar type.

See also
  std::fmax documentation
  GLM_EXT_scalar_common

## fmax() [2/3]

GLM_FUNC_DECL T glm::fmax | ( | T | a,
|  | T | b,
|  | T | C
| ) |  |

Returns the maximum component-wise values of 3 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters

  T | A floating-point scalar type.

See also
  std::fmax documentation
  GLM_EXT_scalar_common

## fmax() [3/3]

GLM_FUNC_DECL T glm::fmax | ( | T | a,
|  | T | b,
|  | T | C,
|  | T | D
| ) |  |

Returns the maximum component-wise values of 4 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters

  T | A floating-point scalar type.

See also
  std::fmax documentation
  GLM_EXT_scalar_common

## fmin() [1/3]

GLM_FUNC_DECL T glm::fmin | ( | T | a,
|  | T | b
| ) |  |

Returns the minimum component-wise values of 2 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters

  T | A floating-point scalar type.

See also
  std::fmin documentation
  GLM_EXT_scalar_common

## fmin() [2/3]

GLM_FUNC_DECL T glm::fmin | ( | T | a,
|  | T | b,
|  | T | c
| ) |  |

Returns the minimum component-wise values of 3 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters

  T | A floating-point scalar type.

See also
  std::fmin documentation
  GLM_EXT_scalar_common

## fmin() [3/3]

GLM_FUNC_DECL T glm::fmin | ( | T | a,
|  | T | b,
|  | T | c,
|  | T | d
| ) |  |

Returns the minimum component-wise values of 4 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters

  T | A floating-point scalar type.

See also
  std::fmin documentation
  GLM_EXT_scalar_common

## iround()

GLM_FUNC_DECL int glm::iround | ( | genType const & | x | ) |

Returns a value equal to the nearest integer to x.

The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest.

Parameters

  x | The values of the argument must be greater or equal to zero.

Template Parameters

  genType | floating point scalar types.

See also
  GLSL round man page
  GLM_EXT_scalar_common extension.

## max() [1/2]

GLM_FUNC_DECL T glm::max | ( | T | a,
|  | T | b,
|  | T | c
| ) |  |

Returns the maximum component-wise values of 3 inputs.

Template Parameters

  T | A floating-point scalar type.

See also
  GLM_EXT_scalar_common

## max() [2/2]

GLM_FUNC_DECL T glm::max | ( | T | a,
|  | T | b,
|  | T | c,
|  | T | d
| ) |  |

Returns the maximum component-wise values of 4 inputs.

Template Parameters

  T | A floating-point scalar type.

See also
  GLM_EXT_scalar_common

## min() [1/2]

GLM_FUNC_DECL T glm::min | ( | T | a,
|  | T | b,
|  | T | c
| ) |  |

Returns the minimum component-wise values of 3 inputs.

Template Parameters

  T | A floating-point scalar type.

See also
  GLM_EXT_scalar_common

## min() [2/2]

GLM_FUNC_DECL T glm::min | ( | T | a,
|  | T | b,
|  | T | c,
|  | T | d
| ) |  |

Returns the minimum component-wise values of 4 inputs.

Template Parameters

  T | A floating-point scalar type.

See also
  GLM_EXT_scalar_common

## mirrorClamp()

GLM_FUNC_DECL genType glm::mirrorClamp | ( | genType const & | Texcoord | ) |

Simulate GL_MIRRORED_REPEAT OpenGL wrap mode.

Template Parameters

  genType | Floating-point scalar types.

See also
  GLM_EXT_scalar_common extension.

## mirrorRepeat()

GLM_FUNC_DECL genType glm::mirrorRepeat | ( | genType const & | Texcoord | ) |

Simulate GL_MIRROR_REPEAT OpenGL wrap mode.

Template Parameters

  genType | Floating-point scalar types.

See also
  GLM_EXT_scalar_common extension.

## repeat()

GLM_FUNC_DECL genType glm::repeat | ( | genType const & | Texcoord | ) |

Simulate GL_REPEAT OpenGL wrap mode.

Template Parameters

  genType | Floating-point scalar types.

See also
  GLM_EXT_scalar_common extension.

## uround()

GLM_FUNC_DECL uint glm::uround | ( | genType const & | x | ) |

Returns a value equal to the nearest integer to x.

The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest.

Parameters

  x | The values of the argument must be greater or equal to zero.

Template Parameters

  genType | floating point scalar types.

See also
  GLSL round man page
  GLM_EXT_scalar_common extension.