Skip to main content

luaur_bytecode/functions/
log_2.rs

1use luaur_common::LUAU_ASSERT;
2
3#[allow(non_snake_case)]
4pub(crate) fn log2(mut v: i32) -> i32 {
5    LUAU_ASSERT!(v != 0);
6
7    let mut r = 0;
8
9    while v >= (2 << r) {
10        r += 1;
11    }
12
13    r
14}