Add bits.log2

This commit is contained in:
gingerBill
2021-09-15 15:18:20 +01:00
parent 736a763859
commit de00c7c9a8

View File

@@ -37,6 +37,10 @@ overflowing_sub :: intrinsics.overflow_sub
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 {
n :: 8
s := uint(k) & (n-1)