#[macro_export]
macro_rules! file_size {
($file:literal) => {{
const N: usize = include_bytes!($file).len();
N
}};
}
#[macro_export]
macro_rules! include_words {
($file:literal) => {{
const N: usize = ($crate::file_size!($file) + 3) / 4;
static mut RET: [u32; N] = {
let input_file = *include_bytes!($file);
let mut padded_data = [0u8; N * 4];
let mut i = 0;
while i < input_file.len() {
padded_data[i] = input_file[i];
i += 1;
}
unsafe { core::mem::transmute(padded_data) }
};
unsafe { &mut RET }
}};
}