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