From 7f70fa79f9e11aae5c0b6ff26504e0f636357296 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Tue, 14 Mar 2023 14:49:06 -0500 Subject: [PATCH] change: made `math.ilog2` work for `u32` --- core/math/math.onyx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/math/math.onyx b/core/math/math.onyx index 1ff7dc05..697adf12 100644 --- a/core/math/math.onyx +++ b/core/math/math.onyx @@ -235,6 +235,14 @@ log :: (a: $T, base: $R) -> T { return ~~(ln(cast(f32) a) / ln(cast(f32) base)); } +ilog2 :: #match #local {} + +#overload +ilog2 :: (a: u32) -> u32 { + return 31 - wasm.clz_i32(a); +} + +#overload ilog2 :: (a: u64) -> u64 { return 63 - wasm.clz_i64(a); } -- 2.25.1