|
|
|
|
@ -28,108 +28,82 @@ |
|
|
|
|
|
|
|
|
|
namespace glm |
|
|
|
|
{ |
|
|
|
|
template <typename genType> |
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER bool epsilonEqual |
|
|
|
|
( |
|
|
|
|
genType const & x, |
|
|
|
|
genType const & y, |
|
|
|
|
genType const & epsilon |
|
|
|
|
glm::half const & x, |
|
|
|
|
glm::half const & y, |
|
|
|
|
glm::half const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return abs(x - y) < epsilon; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename genType> |
|
|
|
|
GLM_FUNC_QUALIFIER bool epsilonNotEqual |
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER bool epsilonEqual |
|
|
|
|
( |
|
|
|
|
genType const & x, |
|
|
|
|
genType const & y, |
|
|
|
|
genType const & epsilon |
|
|
|
|
float const & x, |
|
|
|
|
float const & y, |
|
|
|
|
float const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return abs(x - y) >= epsilon; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec2<bool> epsilonEqual |
|
|
|
|
( |
|
|
|
|
detail::tvec2<valType> const & x, |
|
|
|
|
detail::tvec2<valType> const & y, |
|
|
|
|
valType const & epsilon) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec2<bool>( |
|
|
|
|
abs(x.x - y.x) < epsilon, |
|
|
|
|
abs(x.y - y.y) < epsilon); |
|
|
|
|
return abs(x - y) < epsilon; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec3<bool> epsilonEqual |
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER bool epsilonEqual |
|
|
|
|
( |
|
|
|
|
detail::tvec3<valType> const & x, |
|
|
|
|
detail::tvec3<valType> const & y, |
|
|
|
|
valType const & epsilon) |
|
|
|
|
double const & x, |
|
|
|
|
double const & y, |
|
|
|
|
double const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec3<bool>( |
|
|
|
|
abs(x.x - y.x) < epsilon, |
|
|
|
|
abs(x.y - y.y) < epsilon, |
|
|
|
|
abs(x.z - y.z) < epsilon); |
|
|
|
|
return abs(x - y) < epsilon; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec4<bool> epsilonEqual |
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER bool epsilonNotEqual |
|
|
|
|
( |
|
|
|
|
detail::tvec4<valType> const & x, |
|
|
|
|
detail::tvec4<valType> const & y, |
|
|
|
|
valType const & epsilon |
|
|
|
|
glm::half const & x, |
|
|
|
|
glm::half const & y, |
|
|
|
|
glm::half const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec4<bool>( |
|
|
|
|
abs(x.x - y.x) < epsilon, |
|
|
|
|
abs(x.y - y.y) < epsilon, |
|
|
|
|
abs(x.z - y.z) < epsilon, |
|
|
|
|
abs(x.w - y.w) < epsilon); |
|
|
|
|
return abs(x - y) >= epsilon; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec2<bool> epsilonNotEqual |
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER bool epsilonNotEqual |
|
|
|
|
( |
|
|
|
|
detail::tvec2<valType> const & x, |
|
|
|
|
detail::tvec2<valType> const & y, |
|
|
|
|
valType const & epsilon |
|
|
|
|
float const & x, |
|
|
|
|
float const & y, |
|
|
|
|
float const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec2<bool>( |
|
|
|
|
abs(x.x - y.x) >= epsilon, |
|
|
|
|
abs(x.y - y.y) >= epsilon); |
|
|
|
|
return abs(x - y) >= epsilon; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec3<bool> epsilonNotEqual |
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER bool epsilonNotEqual |
|
|
|
|
( |
|
|
|
|
detail::tvec3<valType> const & x, |
|
|
|
|
detail::tvec3<valType> const & y, |
|
|
|
|
valType const & epsilon |
|
|
|
|
double const & x, |
|
|
|
|
double const & y, |
|
|
|
|
double const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec3<bool>( |
|
|
|
|
abs(x.x - y.x) >= epsilon, |
|
|
|
|
abs(x.y - y.y) >= epsilon, |
|
|
|
|
abs(x.z - y.z) >= epsilon); |
|
|
|
|
return abs(x - y) >= epsilon; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec4<bool> epsilonNotEqual |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec2<bool> epsilonEqual |
|
|
|
|
( |
|
|
|
|
detail::tvec4<valType> const & x, |
|
|
|
|
detail::tvec4<valType> const & y, |
|
|
|
|
valType const & epsilon |
|
|
|
|
) |
|
|
|
|
detail::tvec2<valType> const & x, |
|
|
|
|
detail::tvec2<valType> const & y, |
|
|
|
|
valType const & epsilon) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec4<bool>( |
|
|
|
|
abs(x.x - y.x) >= epsilon, |
|
|
|
|
abs(x.y - y.y) >= epsilon, |
|
|
|
|
abs(x.z - y.z) >= epsilon, |
|
|
|
|
abs(x.w - y.w) >= epsilon); |
|
|
|
|
return detail::tvec2<bool>( |
|
|
|
|
abs(x.x - y.x) < epsilon, |
|
|
|
|
abs(x.y - y.y) < epsilon); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
@ -145,6 +119,19 @@ namespace glm |
|
|
|
|
abs(x.y - y.y) < epsilon.y); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec3<bool> epsilonEqual |
|
|
|
|
( |
|
|
|
|
detail::tvec3<valType> const & x, |
|
|
|
|
detail::tvec3<valType> const & y, |
|
|
|
|
valType const & epsilon) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec3<bool>( |
|
|
|
|
abs(x.x - y.x) < epsilon, |
|
|
|
|
abs(x.y - y.y) < epsilon, |
|
|
|
|
abs(x.z - y.z) < epsilon); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec3<bool> epsilonEqual |
|
|
|
|
( |
|
|
|
|
@ -164,22 +151,22 @@ namespace glm |
|
|
|
|
( |
|
|
|
|
detail::tvec4<valType> const & x, |
|
|
|
|
detail::tvec4<valType> const & y, |
|
|
|
|
detail::tvec4<valType> const & epsilon |
|
|
|
|
valType const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec4<bool>( |
|
|
|
|
abs(x.x - y.x) < epsilon.x, |
|
|
|
|
abs(x.y - y.y) < epsilon.y, |
|
|
|
|
abs(x.z - y.z) < epsilon.z, |
|
|
|
|
abs(x.w - y.w) < epsilon.w); |
|
|
|
|
abs(x.x - y.x) < epsilon, |
|
|
|
|
abs(x.y - y.y) < epsilon, |
|
|
|
|
abs(x.z - y.z) < epsilon, |
|
|
|
|
abs(x.w - y.w) < epsilon); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec4<bool> epsilonEqual |
|
|
|
|
( |
|
|
|
|
detail::tquat<valType> const & x, |
|
|
|
|
detail::tquat<valType> const & y, |
|
|
|
|
detail::tquat<valType> const & epsilon |
|
|
|
|
detail::tvec4<valType> const & x, |
|
|
|
|
detail::tvec4<valType> const & y, |
|
|
|
|
detail::tvec4<valType> const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec4<bool>( |
|
|
|
|
@ -189,6 +176,19 @@ namespace glm |
|
|
|
|
abs(x.w - y.w) < epsilon.w); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec2<bool> epsilonNotEqual |
|
|
|
|
( |
|
|
|
|
detail::tvec2<valType> const & x, |
|
|
|
|
detail::tvec2<valType> const & y, |
|
|
|
|
valType const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec2<bool>( |
|
|
|
|
abs(x.x - y.x) >= epsilon, |
|
|
|
|
abs(x.y - y.y) >= epsilon); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec2<bool> epsilonNotEqual |
|
|
|
|
( |
|
|
|
|
@ -202,6 +202,20 @@ namespace glm |
|
|
|
|
abs(x.y - y.y) >= epsilon.y); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec3<bool> epsilonNotEqual |
|
|
|
|
( |
|
|
|
|
detail::tvec3<valType> const & x, |
|
|
|
|
detail::tvec3<valType> const & y, |
|
|
|
|
valType const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec3<bool>( |
|
|
|
|
abs(x.x - y.x) >= epsilon, |
|
|
|
|
abs(x.y - y.y) >= epsilon, |
|
|
|
|
abs(x.z - y.z) >= epsilon); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec3<bool> epsilonNotEqual |
|
|
|
|
( |
|
|
|
|
@ -216,6 +230,21 @@ namespace glm |
|
|
|
|
abs(x.z - y.z) >= epsilon.z); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec4<bool> epsilonNotEqual |
|
|
|
|
( |
|
|
|
|
detail::tvec4<valType> const & x, |
|
|
|
|
detail::tvec4<valType> const & y, |
|
|
|
|
valType const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec4<bool>( |
|
|
|
|
abs(x.x - y.x) >= epsilon, |
|
|
|
|
abs(x.y - y.y) >= epsilon, |
|
|
|
|
abs(x.z - y.z) >= epsilon, |
|
|
|
|
abs(x.w - y.w) >= epsilon); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec4<bool> epsilonNotEqual |
|
|
|
|
( |
|
|
|
|
@ -231,6 +260,22 @@ namespace glm |
|
|
|
|
abs(x.w - y.w) >= epsilon.w); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec4<bool> epsilonEqual |
|
|
|
|
( |
|
|
|
|
detail::tquat<valType> const & x, |
|
|
|
|
detail::tquat<valType> const & y, |
|
|
|
|
detail::tquat<valType> const & epsilon |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
return detail::tvec4<bool>( |
|
|
|
|
abs(x.x - y.x) < epsilon.x, |
|
|
|
|
abs(x.y - y.y) < epsilon.y, |
|
|
|
|
abs(x.z - y.z) < epsilon.z, |
|
|
|
|
abs(x.w - y.w) < epsilon.w); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename valType> |
|
|
|
|
GLM_FUNC_QUALIFIER detail::tvec4<bool> epsilonNotEqual |
|
|
|
|
( |
|
|
|
|
@ -245,4 +290,6 @@ namespace glm |
|
|
|
|
abs(x.z - y.z) >= epsilon.z, |
|
|
|
|
abs(x.w - y.w) >= epsilon.w); |
|
|
|
|
} |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
}//namespace glm |
|
|
|
|
|