I'm trying to understand what this function does in pratice:
inline std::size_t get_significant_uint64_count_uint(
const std::uint64_t *value, std::size_t uint64_count)
{
value += uint64_count - 1;
for (; uint64_count && !*value; uint64_count--)
{
value--;
}
return uint64_count;
}
It looks like it modifies value
but also uint64_count
. I couldn't find what &&
does but I guess here it's for "AND". Anyways, it looks like the for loop runs until uint64_count>0
and *value!=0
. But I don't get the logic.
Function is from here