mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 07:38:48 +00:00
Add bits.log2
This commit is contained in:
@@ -37,6 +37,10 @@ overflowing_sub :: intrinsics.overflow_sub
|
|||||||
overflowing_mul :: intrinsics.overflow_mul
|
overflowing_mul :: intrinsics.overflow_mul
|
||||||
|
|
||||||
|
|
||||||
|
log2 :: proc(x: $T) -> T where intrinsics.type_is_integer(T), intrinsics.type_is_unsigned(T) {
|
||||||
|
return (8*size_of(T)-1) - count_leading_zeros(x)
|
||||||
|
}
|
||||||
|
|
||||||
rotate_left8 :: proc(x: u8, k: int) -> u8 {
|
rotate_left8 :: proc(x: u8, k: int) -> u8 {
|
||||||
n :: 8
|
n :: 8
|
||||||
s := uint(k) & (n-1)
|
s := uint(k) & (n-1)
|
||||||
|
|||||||
Reference in New Issue
Block a user