/* See LICENSE file for copyright and license details. */ #include "internals" size_t zlsb(z_t a) { size_t i = 0; zahl_char_t x; if (zzero(a)) return SIZE_MAX; for (;; i++) { x = a->chars[i]; if (x) { x = ~x; for (i *= BITS_PER_CHAR; x & 1; x >>= 1, i++); return i; } } }