pub fn log_base2<T: PrimInt + Unsigned>(num: T) -> u32