1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
#![allow(non_camel_case_types)]

mod array;
mod mat;
mod native;
mod pad;
mod repr;
mod scalar;
mod vec;

pub use {
    self::{mat::*, native::*, pad::*, repr::*, scalar::*, vec::*},
    bytemuck::{Pod, Zeroable},
};

pub const fn pad_size(align_mask: usize, offset: usize) -> usize {
    align_mask - ((offset + align_mask) & align_mask)
}

pub const fn next_offset(align_mask: usize, offset: usize, size: usize) -> usize {
    size + offset + pad_size(align_mask, offset)
}