18 #include "../detail/setup.hpp" 
   19 #include "../detail/qualifier.hpp" 
   20 #include "../detail/_vectorize.hpp" 
   21 #include "../ext/scalar_int_sized.hpp" 
   23 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 
   24 #       pragma message("GLM: GLM_GTC_ulp extension included") 
   37         template<
typename genType>
 
   45         template<
typename genType>
 
   53         template<
typename genType>
 
   61         template<
typename genType>
 
   81         template<length_t L, 
typename T, qualifier Q>
 
   82         GLM_FUNC_DECL vec<L, T, Q> 
next_float(vec<L, T, Q> 
const& x);
 
   91         template<length_t L, 
typename T, qualifier Q>
 
   92         GLM_FUNC_DECL vec<L, T, Q> 
next_float(vec<L, T, Q> 
const& x, 
int ULPs);
 
  101         template<length_t L, 
typename T, qualifier Q>
 
  102         GLM_FUNC_DECL vec<L, T, Q> 
next_float(vec<L, T, Q> 
const& x, vec<L, int, Q> 
const& ULPs);
 
  111         template<length_t L, 
typename T, qualifier Q>
 
  112         GLM_FUNC_DECL vec<L, T, Q> 
prev_float(vec<L, T, Q> 
const& x);
 
  121         template<length_t L, 
typename T, qualifier Q>
 
  122         GLM_FUNC_DECL vec<L, T, Q> 
prev_float(vec<L, T, Q> 
const& x, 
int ULPs);
 
  131         template<length_t L, 
typename T, qualifier Q>
 
  132         GLM_FUNC_DECL vec<L, T, Q> 
prev_float(vec<L, T, Q> 
const& x, vec<L, int, Q> 
const& ULPs);
 
  140         template<length_t L, 
typename T, qualifier Q>
 
  141         GLM_FUNC_DECL vec<L, int, Q> 
float_distance(vec<L, float, Q> 
const& x, vec<L, float, Q> 
const& y);
 
  149         template<length_t L, 
typename T, qualifier Q>
 
  150         GLM_FUNC_DECL vec<L, int64, Q> 
float_distance(vec<L, double, Q> 
const& x, vec<L, double, Q> 
const& y);