diff --git a/vendor/sdl3/sdl3_bits.odin b/vendor/sdl3/sdl3_bits.odin new file mode 100644 index 000000000..8626d0767 --- /dev/null +++ b/vendor/sdl3/sdl3_bits.odin @@ -0,0 +1,17 @@ +package sdl3 + +import "base:intrinsics" +import "core:c" + +@(require_results) +MostSignificantBitIndex32 :: #force_inline proc "c" (x: Uint32) -> c.int { + if x == 0 { + return -1 + } + return c.int(31 - intrinsics.count_leading_zeros(x)) +} + +@(require_results) +HasExactlyOneBitSet32 :: #force_inline proc "c" (x: Uint32) -> bool { + return x != 0 && (x & (x - 1)) == 0 +} \ No newline at end of file