mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-01 12:18:15 +00:00
Add sdl3_bits.odin
This commit is contained in:
Vendored
+17
@@ -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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user