initial commit
This commit is contained in:
		
							
								
								
									
										125
									
								
								lib/glm/gtc/epsilon.inl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								lib/glm/gtc/epsilon.inl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,125 @@ | ||||
| /// @ref gtc_epsilon | ||||
| /// @file glm/gtc/epsilon.inl | ||||
|  | ||||
| // Dependency: | ||||
| #include "quaternion.hpp" | ||||
| #include "../vector_relational.hpp" | ||||
| #include "../common.hpp" | ||||
| #include "../vec2.hpp" | ||||
| #include "../vec3.hpp" | ||||
| #include "../vec4.hpp" | ||||
|  | ||||
| namespace glm | ||||
| { | ||||
| 	template <> | ||||
| 	GLM_FUNC_QUALIFIER bool epsilonEqual | ||||
| 	( | ||||
| 		float const & x, | ||||
| 		float const & y, | ||||
| 		float const & epsilon | ||||
| 	) | ||||
| 	{ | ||||
| 		return abs(x - y) < epsilon; | ||||
| 	} | ||||
|  | ||||
| 	template <> | ||||
| 	GLM_FUNC_QUALIFIER bool epsilonEqual | ||||
| 	( | ||||
| 		double const & x, | ||||
| 		double const & y, | ||||
| 		double const & epsilon | ||||
| 	) | ||||
| 	{ | ||||
| 		return abs(x - y) < epsilon; | ||||
| 	} | ||||
|  | ||||
| 	template <> | ||||
| 	GLM_FUNC_QUALIFIER bool epsilonNotEqual | ||||
| 	( | ||||
| 		float const & x, | ||||
| 		float const & y, | ||||
| 		float const & epsilon | ||||
| 	) | ||||
| 	{ | ||||
| 		return abs(x - y) >= epsilon; | ||||
| 	} | ||||
|  | ||||
| 	template <> | ||||
| 	GLM_FUNC_QUALIFIER bool epsilonNotEqual | ||||
| 	( | ||||
| 		double const & x, | ||||
| 		double const & y, | ||||
| 		double const & epsilon | ||||
| 	) | ||||
| 	{ | ||||
| 		return abs(x - y) >= epsilon; | ||||
| 	} | ||||
|  | ||||
| 	template <typename T, precision P, template <typename, precision> class vecType> | ||||
| 	GLM_FUNC_QUALIFIER vecType<bool, P> epsilonEqual | ||||
| 	( | ||||
| 		vecType<T, P> const & x, | ||||
| 		vecType<T, P> const & y, | ||||
| 		T const & epsilon | ||||
| 	) | ||||
| 	{ | ||||
| 		return lessThan(abs(x - y), vecType<T, P>(epsilon)); | ||||
| 	} | ||||
|  | ||||
| 	template <typename T, precision P, template <typename, precision> class vecType> | ||||
| 	GLM_FUNC_QUALIFIER vecType<bool, P> epsilonEqual | ||||
| 	( | ||||
| 		vecType<T, P> const & x, | ||||
| 		vecType<T, P> const & y, | ||||
| 		vecType<T, P> const & epsilon | ||||
| 	) | ||||
| 	{ | ||||
| 		return lessThan(abs(x - y), vecType<T, P>(epsilon)); | ||||
| 	} | ||||
|  | ||||
| 	template <typename T, precision P, template <typename, precision> class vecType> | ||||
| 	GLM_FUNC_QUALIFIER vecType<bool, P> epsilonNotEqual | ||||
| 	( | ||||
| 		vecType<T, P> const & x, | ||||
| 		vecType<T, P> const & y, | ||||
| 		T const & epsilon | ||||
| 	) | ||||
| 	{ | ||||
| 		return greaterThanEqual(abs(x - y), vecType<T, P>(epsilon)); | ||||
| 	} | ||||
|  | ||||
| 	template <typename T, precision P, template <typename, precision> class vecType> | ||||
| 	GLM_FUNC_QUALIFIER vecType<bool, P> epsilonNotEqual | ||||
| 	( | ||||
| 		vecType<T, P> const & x, | ||||
| 		vecType<T, P> const & y, | ||||
| 		vecType<T, P> const & epsilon | ||||
| 	) | ||||
| 	{ | ||||
| 		return greaterThanEqual(abs(x - y), vecType<T, P>(epsilon)); | ||||
| 	} | ||||
|  | ||||
| 	template <typename T, precision P> | ||||
| 	GLM_FUNC_QUALIFIER tvec4<bool, P> epsilonEqual | ||||
| 	( | ||||
| 		tquat<T, P> const & x, | ||||
| 		tquat<T, P> const & y, | ||||
| 		T const & epsilon | ||||
| 	) | ||||
| 	{ | ||||
| 		tvec4<T, P> v(x.x - y.x, x.y - y.y, x.z - y.z, x.w - y.w); | ||||
| 		return lessThan(abs(v), tvec4<T, P>(epsilon)); | ||||
| 	} | ||||
|  | ||||
| 	template <typename T, precision P> | ||||
| 	GLM_FUNC_QUALIFIER tvec4<bool, P> epsilonNotEqual | ||||
| 	( | ||||
| 		tquat<T, P> const & x, | ||||
| 		tquat<T, P> const & y, | ||||
| 		T const & epsilon | ||||
| 	) | ||||
| 	{ | ||||
| 		tvec4<T, P> v(x.x - y.x, x.y - y.y, x.z - y.z, x.w - y.w); | ||||
| 		return greaterThanEqual(abs(v), tvec4<T, P>(epsilon)); | ||||
| 	} | ||||
| }//namespace glm | ||||
		Reference in New Issue
	
	Block a user
	 izenynn
					izenynn