luaur_bytecode/functions/ceillog_2.rs
1use crate::functions::log_2::log2;
2use luaur_common::LUAU_ASSERT;
3
4#[allow(non_snake_case)]
5pub(crate) fn ceillog2(v: i32) -> i32 {
6 LUAU_ASSERT!(v > 0);
7
8 if v == 1 {
9 0
10 } else {
11 log2(v - 1) + 1
12 }
13}
14
15#[allow(non_snake_case)]
16pub(crate) fn ceillog_2(v: i32) -> i32 {
17 ceillog2(v)
18}