Make nvLogBase2 more efficient

This commit is contained in:
Dhruv Maroo 2022-05-14 16:21:04 +05:30
parent d8f3bcff92
commit 8b24fa5b0a
No known key found for this signature in database
GPG Key ID: 9ED1310EE7C2F034

View File

@ -35,20 +35,17 @@
//
NvU32 nvLogBase2(NvU64 val)
{
NvU32 i;
NvU32 i = 0;
NV_ASSERT(((val)&(val-1)) == 0);
// Use two NV_ASSERTs for better error identification
NV_ASSERT(val != 0);
NV_ASSERT(((val) & (val - 1)) == 0);
for (i = 0; i < 64; i++)
while ((val >>= 1))
{
if ((1ull << i) == val)
{
break;
}
i++;
}
NV_ASSERT(i < 64);
return i;
}
@ -355,4 +352,3 @@ NvU32 nvStringLen(const char * str)
;
return i - 1;
}