diff options
author | 2018-03-22 03:23:57 +1100 | |
---|---|---|
committer | 2018-03-22 03:23:57 +1100 | |
commit | 418bc70cfa3b293cdfdcdefcbd6ea6aed60cd69a (patch) | |
tree | 128ec479248d28c5b9cd26d06a7fe48df0e37917 | |
parent | a1c35681bc8f6c6b7ed033760e3c1b53b4391d1b (diff) |
fix count_leading_zeroes(0) C fallback (nw)
-rw-r--r-- | src/osd/eminline.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/osd/eminline.h b/src/osd/eminline.h index 685df59abae..bb0aec63468 100644 --- a/src/osd/eminline.h +++ b/src/osd/eminline.h @@ -273,6 +273,7 @@ inline float recip_approx(float value) #ifndef count_leading_zeros inline uint8_t count_leading_zeros(uint32_t val) { + if (!val) return 32U; uint8_t count; for (count = 0; int32_t(val) >= 0; count++) val <<= 1; return count; @@ -289,7 +290,7 @@ inline uint8_t count_leading_zeros(uint32_t val) inline uint8_t count_leading_ones(uint32_t val) { uint8_t count; - for (count = 0; (int32_t)val < 0; count++) val <<= 1; + for (count = 0; int32_t(val) < 0; count++) val <<= 1; return count; } #endif |