change: made `math.ilog2` work for `u32`
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 14 Mar 2023 19:49:06 +0000 (14:49 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 14 Mar 2023 19:49:06 +0000 (14:49 -0500)
core/math/math.onyx

index 1ff7dc0557706c4353e4f040254b02bda2b6b4a2..697adf122054fde59a9b4399c35cb18fdaffd4f3 100644 (file)
@@ -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);
 }