浏览代码

branchless wrapAngle

Mathias Labeyrie 11 年之前
父节点
当前提交
72a5de2320
共有 1 个文件被更改,包括 2 次插入4 次删除
  1. 2 4
      glm/gtx/fast_trigonometry.inl

+ 2 - 4
glm/gtx/fast_trigonometry.inl

@@ -9,12 +9,10 @@
 
 
 namespace glm
 namespace glm
 {
 {
-	template <typename T> 
+	template <typename T>
 	GLM_FUNC_QUALIFIER T wrapAngle(T const & angle)
 	GLM_FUNC_QUALIFIER T wrapAngle(T const & angle)
 	{
 	{
-		T result = angle - floor<T>(angle * one_over_two_pi<T>()) * two_pi<T>();
-		result = result > T(0) ? result : -result;
-		return result;
+		return abs<T>(mod<T>(angle, two_pi<T>()));
 	}
 	}
 
 
 	VECTORIZE_VEC(wrapAngle)
 	VECTORIZE_VEC(wrapAngle)