Browse Source

Removed bitRevert, duplicated of bitfieldReverse

Christophe Riccio 11 years ago
parent
commit
8dd3ec02ea
4 changed files with 55 additions and 94 deletions
  1. 0 5
      glm/gtx/bit.hpp
  2. 0 15
      glm/gtx/bit.inl
  3. 55 6
      test/core/core_func_integer.cpp
  4. 0 68
      test/gtx/gtx_bit.cpp

+ 0 - 5
glm/gtx/bit.hpp

@@ -76,11 +76,6 @@ namespace glm
 	template <typename genType> 
 	GLM_FUNC_DECL genType powerOfTwoNearest(genType const & value);
 
-	//! Revert all bits of any integer based type. 
-	/// @see gtx_bit
-	template <typename genType> 
-	GLM_DEPRECATED GLM_FUNC_DECL genType bitRevert(genType const & value);
-
 	//! Set to 1 a range of bits.
 	/// @see gtx_bit
 	template <typename genIUType>

+ 0 - 15
glm/gtx/bit.inl

@@ -153,21 +153,6 @@ namespace glm
 
 	VECTORIZE_VEC(powerOfTwoNearest)
 
-	template <typename genType>
-	GLM_FUNC_QUALIFIER genType bitRevert(genType const & In)
-	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_integer, "'bitRevert' only accept integer values");
-
-		genType Out = 0;
-		std::size_t BitSize = sizeof(genType) * 8;
-		for(std::size_t i = 0; i < BitSize; ++i)
-			if(In & (genType(1) << i))
-				Out |= genType(1) << (BitSize - 1 - i);
-		return Out;
-	}
-
-	VECTORIZE_VEC(bitRevert)
-
 	template <typename genIUType>
 	GLM_FUNC_QUALIFIER genIUType fillBitfieldWithOne
 	(

+ 55 - 6
test/core/core_func_integer.cpp

@@ -9,9 +9,9 @@
 
 #include <glm/integer.hpp>
 #include <glm/gtc/vec1.hpp>
-#include <iostream>
 #include <vector>
 #include <ctime>
+#include <cstdio>
 
 enum result
 {
@@ -148,7 +148,25 @@ namespace bitfieldReverse
 		{0xf0000000, 0x0000000f, SUCCESS},
 	};
 
-	int test()
+	typedef type<glm::uint64> typeU64;
+
+#if(((GLM_COMPILER & GLM_COMPILER_GCC) == GLM_COMPILER_GCC) && (GLM_COMPILER < GLM_COMPILER_GCC44))
+	typeU64 const Data64[] =
+	{
+		{0xffffffffffffffffLLU, 0xffffffffffffffffLLU, SUCCESS},
+		{0x0000000000000000LLU, 0x0000000000000000LLU, SUCCESS},
+		{0xf000000000000000LLU, 0x000000000000000fLLU, SUCCESS},
+	};
+#else
+	typeU64 const Data64[] =
+	{
+		{0xffffffffffffffff, 0xffffffffffffffff, SUCCESS},
+		{0x0000000000000000, 0x0000000000000000, SUCCESS},
+		{0xf000000000000000, 0x000000000000000f, SUCCESS},
+	};
+#endif
+
+	int test32()
 	{
 		glm::uint count = sizeof(Data32) / sizeof(typeU32);
 		
@@ -164,13 +182,46 @@ namespace bitfieldReverse
 			else if(Data32[i].Result == FAIL && !Compare)
 				continue;
 			
-			std::cout << "glm::bitfieldReverse test fail on test " << i << std::endl;
+			printf("glm::bitfieldReverse test fail on test %d\n", i);
+			return 1;
+		}
+		
+		return 0;
+	}
+
+	int test64()
+	{
+		glm::uint32 count = sizeof(Data64) / sizeof(typeU64);
+		
+		for(glm::uint32 i = 0; i < count; ++i)
+		{
+			glm::uint64 Return = glm::bitfieldReverse(
+				Data64[i].Value);
+			
+			bool Compare = Data64[i].Return == Return;
+			
+			if(Data64[i].Result == SUCCESS && Compare)
+				continue;
+			else if(Data64[i].Result == FAIL && !Compare)
+				continue;
+			
+			printf("glm::extractfield test fail on test %d\n", i);
 			return 1;
 		}
 		
 		return 0;
 	}
-}//bitRevert
+
+	int test()
+	{
+		int Error = 0;
+
+		Error += test32();
+		Error += test64();
+
+		return Error;
+	}
+}//bitfieldReverse
 
 namespace findMSB
 {
@@ -639,8 +690,6 @@ int main()
 {
 	int Error = 0;
 
-	std::cout << "sizeof(glm::uint64): " << sizeof(glm::detail::uint64) << std::endl;
-
 	Error += ::umulExtended::test();
 	Error += ::imulExtended::test();
 	Error += ::uaddCarry::test();

+ 0 - 68
test/gtx/gtx_bit.cpp

@@ -10,79 +10,11 @@
 #include <glm/gtx/bit.hpp>
 #include <glm/gtc/type_precision.hpp>
 
-#if(GLM_ARCH != GLM_ARCH_PURE)
-#	include <glm/detail/intrinsic_integer.hpp>
-#endif
 
-#include <vector>
-#include <ctime>
-#include <cstdio>
-
-enum result
-{
-	SUCCESS,
-	FAIL,
-	ASSERT,
-	STATIC_ASSERT
-};
-
-namespace bitRevert
-{
-	template <typename genType>
-	struct type
-	{
-		genType		Value;
-		genType		Return;
-		result		Result;
-	};
-
-	typedef type<glm::uint64> typeU64;
-
-#if(((GLM_COMPILER & GLM_COMPILER_GCC) == GLM_COMPILER_GCC) && (GLM_COMPILER < GLM_COMPILER_GCC44))
-	typeU64 const Data64[] =
-	{
-		{0xffffffffffffffffLLU, 0xffffffffffffffffLLU, SUCCESS},
-		{0x0000000000000000LLU, 0x0000000000000000LLU, SUCCESS},
-		{0xf000000000000000LLU, 0x000000000000000fLLU, SUCCESS},
-	};
-#else
-	typeU64 const Data64[] =
-	{
-		{0xffffffffffffffff, 0xffffffffffffffff, SUCCESS},
-		{0x0000000000000000, 0x0000000000000000, SUCCESS},
-		{0xf000000000000000, 0x000000000000000f, SUCCESS},
-	};
-#endif
-
-	int test()
-	{
-		glm::uint32 count = sizeof(Data64) / sizeof(typeU64);
-		
-		for(glm::uint32 i = 0; i < count; ++i)
-		{
-			glm::uint64 Return = glm::bitRevert(
-				Data64[i].Value);
-			
-			bool Compare = Data64[i].Return == Return;
-			
-			if(Data64[i].Result == SUCCESS && Compare)
-				continue;
-			else if(Data64[i].Result == FAIL && !Compare)
-				continue;
-			
-			printf("glm::extractfield test fail on test %d\n", i);
-			return 1;
-		}
-		
-		return 0;
-	}
-}//bitRevert
 
 int main()
 {
 	int Error(0);
 
-	Error += ::bitRevert::test();
-
 	return Error;
 }