Browse Source

Fixed build

Christophe Riccio 8 years ago
parent
commit
d63aa4ea85
3 changed files with 13 additions and 6 deletions
  1. 1 0
      glm/gtc/ulp.hpp
  2. 1 1
      glm/gtc/ulp.inl
  3. 11 5
      test/core/core_func_common.cpp

+ 1 - 0
glm/gtc/ulp.hpp

@@ -17,6 +17,7 @@
 #include "../detail/setup.hpp"
 #include "../detail/precision.hpp"
 #include "../detail/type_int.hpp"
+#include "../detail/compute_vector_relational.hpp"
 
 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)
 #	pragma message("GLM: GLM_GTC_ulp extension included")

+ 1 - 1
glm/gtc/ulp.inl

@@ -81,7 +81,7 @@ namespace detail
 		if((ix>0x7f800000) ||	// x is nan 
 			(iy>0x7f800000))	// y is nan 
 			return x+y;
-		if(detail::compute_equal<float>::call(x, y))
+		if(compute_equal<float>::call(x, y))
 			return y;		// x=y, return y
 		if(ix==0)
 		{				// x == 0

+ 11 - 5
test/core/core_func_common.cpp

@@ -844,14 +844,20 @@ namespace sign
 		return (x >> 31) | ((unsigned)-x >> 31);
 	}
 
-	template<typename genFIType> 
-	GLM_FUNC_QUALIFIER genFIType sign_alu2(genFIType x)
+	GLM_FUNC_QUALIFIER int sign_alu2(int x)
 	{
-		GLM_STATIC_ASSERT(
-			std::numeric_limits<genFIType>::is_signed && std::numeric_limits<genFIType>::is_integer, 
-			"'sign' only accept integer inputs");
+		GLM_STATIC_ASSERT(std::numeric_limits<int>::is_signed && std::numeric_limits<int>::is_integer, "'sign' only accept integer inputs");
+
+#		if GLM_COMPILER & GLM_COMPILER_VC
+#			pragma warning(push)
+#			pragma warning(disable : 4146) //cast truncates constant value
+#		endif
 
 		return -((unsigned)x >> 31) | (-(unsigned)x >> 31);
+
+#		if GLM_COMPILER & GLM_COMPILER_VC
+#			pragma warning(pop)
+#		endif
 	}
 
 	template<typename genFIType>