diff options
Diffstat (limited to 'zahl')
| -rw-r--r-- | zahl/inlines.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/zahl/inlines.h b/zahl/inlines.h index 8cb9af2..43faacf 100644 --- a/zahl/inlines.h +++ b/zahl/inlines.h @@ -88,13 +88,13 @@ zsetu(z_t a, uint64_t b) ZAHL_INLINE size_t zlsb(z_t a) { - size_t i = 0; + size_t i = 0, j = 0; if (ZAHL_UNLIKELY(zzero(a))) return SIZE_MAX; for (; !a->chars[i]; i++); - i *= 8 * sizeof(zahl_char_t); - ZAHL_ADD_CTZ(i, a->chars[i]); - return i; + ZAHL_ADD_CTZ(j, a->chars[i]); + j += i * 8 * sizeof(zahl_char_t); + return j; } |
