浏览代码

Fixed reverse

Christophe Riccio 14 年之前
父节点
当前提交
9a11b8155e
共有 1 个文件被更改,包括 8 次插入7 次删除
  1. 8 7
      glm/core/func_integer.inl

+ 8 - 7
glm/core/func_integer.inl

@@ -394,13 +394,14 @@ namespace glm
 		template <typename genIUType>
 		template <typename genIUType>
 		inline genIUType bitfieldReverse(genIUType const & Value)
 		inline genIUType bitfieldReverse(genIUType const & Value)
 		{
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<genIUType>::is_integer, "'bitfieldReverse' only accept integer values");
-
-			genIUType Result = 0;
-			for(std::size_t i = 0; i < sizeof(genIUType) * std::size_t(8); ++i)
-				if(Value & (1 << i))
-					Result |= (genIUType(1) << (sizeof(genIUType) * std::size_t(8)) - genIUType(1) - i);
-			return Result;
+			GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_integer, "'bitRevert' only accept integer values");
+
+			genIUType Out = 0;
+			std::size_t BitSize = sizeof(genIUType) * 8;
+			for(std::size_t i = 0; i < BitSize; ++i)
+				if(In & (genIUType(1) << i))
+					Out |= genIUType(1) << (BitSize - 1 - i);
+			return Out;
 		}	
 		}	
 
 
 		template <typename T>
 		template <typename T>