From 7510ed6f684041db643c051cb17b13abf663b3b2 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 31 Oct 2019 13:16:58 +0100 Subject: common: add mp_log2() To be used in the next commit. According to compiler explorer, __builtin_clz is very widely available, and it barely makes sense to provide a fallback. clang also eats this (and identifies at least as GCC 4). Actually, there's doubt that a fast log2 implementation is needed at all (I guess UTF-8 parsing needs it, but something UTF-8-specific would probably make it faster than using log2). So the fallback is just something naive. --- common/common.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'common/common.h') diff --git a/common/common.h b/common/common.h index 16e1ec4cfd..5e6950c931 100644 --- a/common/common.h +++ b/common/common.h @@ -88,6 +88,8 @@ bool mp_rect_intersection(struct mp_rect *rc, const struct mp_rect *rc2); bool mp_rect_contains(struct mp_rect *rc, int x, int y); bool mp_rect_equals(struct mp_rect *rc1, struct mp_rect *rc2); +unsigned int mp_log2(uint32_t v); + int mp_snprintf_cat(char *str, size_t size, const char *format, ...) PRINTF_ATTRIBUTE(3, 4); -- cgit v1.2.3