GraphicsAPI_2020C
Classes | Namespaces | Functions
func_common.inl File Reference

Core features More...

#include "../vector_relational.hpp"
#include "compute_common.hpp"
#include "type_vec1.hpp"
#include "type_vec2.hpp"
#include "type_vec3.hpp"
#include "type_vec4.hpp"
#include "_vectorize.hpp"
#include <limits>
Include dependency graph for func_common.inl:
This graph shows which files directly or indirectly include this file:

Classes

struct  glm::detail::compute_abs_vector< L, T, Q, Aligned >
 
struct  glm::detail::compute_mix_vector< L, T, U, Q, Aligned >
 
struct  glm::detail::compute_mix_vector< L, T, bool, Q, Aligned >
 
struct  glm::detail::compute_mix_scalar< L, T, U, Q, Aligned >
 
struct  glm::detail::compute_mix_scalar< L, T, bool, Q, Aligned >
 
struct  glm::detail::compute_mix< T, U >
 
struct  glm::detail::compute_mix< T, bool >
 
struct  glm::detail::compute_sign< L, T, Q, isFloat, Aligned >
 
struct  glm::detail::compute_floor< L, T, Q, Aligned >
 
struct  glm::detail::compute_ceil< L, T, Q, Aligned >
 
struct  glm::detail::compute_fract< L, T, Q, Aligned >
 
struct  glm::detail::compute_trunc< L, T, Q, Aligned >
 
struct  glm::detail::compute_round< L, T, Q, Aligned >
 
struct  glm::detail::compute_mod< L, T, Q, Aligned >
 
struct  glm::detail::compute_min_vector< L, T, Q, Aligned >
 
struct  glm::detail::compute_max_vector< L, T, Q, Aligned >
 
struct  glm::detail::compute_clamp_vector< L, T, Q, Aligned >
 
struct  glm::detail::compute_step_vector< L, T, Q, Aligned >
 
struct  glm::detail::compute_smoothstep_vector< L, T, Q, Aligned >
 

Namespaces

 glm
 Core features
 

Functions

template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType glm::min (genType x, genType y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType glm::max (genType x, genType y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR int glm::abs (int x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::round (genType x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::trunc (genType x)
 
template<typename genFIType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genFIType glm::abs (genFIType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > glm::abs (vec< L, T, Q > const &x)
 Returns x if x >= 0; otherwise, it returns -x. More...
 
template<typename genFIType >
GLM_FUNC_QUALIFIER genFIType glm::sign (genFIType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::sign (vec< L, T, Q > const &x)
 Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::floor (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer that is less then or equal to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::trunc (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::round (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::roundEven (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::roundEven (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::ceil (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer that is greater than or equal to x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::fract (genType x)
 Return x - floor(x). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::fract (vec< L, T, Q > const &x)
 Return x - floor(x). More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::mod (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::mod (vec< L, T, Q > const &x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::mod (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Modulus. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::modf (genType x, genType &i)
 Returns the fractional part of x and sets i to the integer part (as a whole number floating point value). More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 1, T, Q > glm::modf (vec< 1, T, Q > const &x, vec< 1, T, Q > &i)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > glm::modf (vec< 2, T, Q > const &x, vec< 2, T, Q > &i)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > glm::modf (vec< 3, T, Q > const &x, vec< 3, T, Q > &i)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > glm::modf (vec< 4, T, Q > const &x, vec< 4, T, Q > &i)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > glm::min (vec< L, T, Q > const &a, T b)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > glm::min (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > glm::max (vec< L, T, Q > const &a, T b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > glm::max (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType glm::clamp (genType x, genType minVal, genType maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > glm::clamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > glm::clamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_QUALIFIER genTypeT glm::mix (genTypeT x, genTypeT y, genTypeU a)
 If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::mix (vec< L, T, Q > const &x, vec< L, T, Q > const &y, U a)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::mix (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, U, Q > const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::step (genType edge, genType x)
 Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::step (T edge, vec< L, T, Q > const &x)
 Returns 0.0 if x < edge, otherwise it returns 1.0. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::step (vec< L, T, Q > const &edge, vec< L, T, Q > const &x)
 Returns 0.0 if x < edge, otherwise it returns 1.0. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::smoothstep (genType edge0, genType edge1, genType x)
 Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::smoothstep (T edge0, T edge1, vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::smoothstep (vec< L, T, Q > const &edge0, vec< L, T, Q > const &edge1, vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool glm::isnan (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > glm::isnan (vec< L, T, Q > const &v)
 Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER bool glm::isinf (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > glm::isinf (vec< L, T, Q > const &v)
 Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. More...
 
GLM_FUNC_DECL int glm::floatBitsToInt (float const &v)
 Returns a signed integer value representing the encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > glm::floatBitsToInt (vec< L, float, Q > const &v)
 Returns a signed integer value representing the encoding of a floating-point value. More...
 
GLM_FUNC_DECL uint glm::floatBitsToUint (float const &v)
 Returns a unsigned integer value representing the encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uint, Q > glm::floatBitsToUint (vec< L, float, Q > const &v)
 Returns a unsigned integer value representing the encoding of a floating-point value. More...
 
GLM_FUNC_DECL float glm::intBitsToFloat (int const &v)
 Returns a floating-point value corresponding to a signed integer encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, float, Q > glm::intBitsToFloat (vec< L, int, Q > const &v)
 Returns a floating-point value corresponding to a signed integer encoding of a floating-point value. More...
 
GLM_FUNC_DECL float glm::uintBitsToFloat (uint const &v)
 Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, float, Q > glm::uintBitsToFloat (vec< L, uint, Q > const &v)
 Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::fma (genType const &a, genType const &b, genType const &c)
 Computes and returns a * b + c. More...
 
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::frexp (genType x, int &exp)
 Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent) More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::frexp (vec< L, T, Q > const &v, vec< L, int, Q > &exp)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::ldexp (genType const &x, int const &exp)
 Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent) More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::ldexp (vec< L, T, Q > const &v, vec< L, int, Q > const &exp)
 

Detailed Description

Core features