\r
**/\r
\r
+\r
+\r
+\r
#include "BaseLibInternals.h"\r
\r
/**\r
Returns the value of the highest bit set in a 32-bit value. Equivalent to\r
- 1 << HighBitSet32(x).\r
+ 1 << log2(x).\r
\r
This function computes the value of the highest bit set in the 32-bit value\r
specified by Operand. If Operand is zero, then zero is returned.\r
IN UINT32 Operand\r
)\r
{\r
- INTN BitPos;\r
- \r
- BitPos = HighBitSet32 (Operand);\r
- return BitPos >= 0 ? 1ul << BitPos : 0;\r
+ if (0 == Operand) {\r
+ return 0;\r
+ }\r
+\r
+ return 1ul << HighBitSet32 (Operand);\r
}\r