Skip to content
Snippets Groups Projects

Fix type layout

Merged rarbore2 requested to merge better_layout into main
@@ -20,11 +20,11 @@ pub const VAR_DENSITY_ENERGY: usize = VAR_MOMENTUM + NDIM;
pub const NVAR: usize = VAR_DENSITY_ENERGY + 1;
pub const deg_angle_of_attack: f32 = 0.0;
#[repr(align(32))]
struct Alignment([u8; 32]);
#[repr(align(64))]
struct Alignment([u8; 64]);
// An aligned slice is stored as a boxed slice and an offset number of elements
// that we skip over to get the desired alignment (of 32 bytes)
// that we skip over to get the desired alignment (of 64 bytes)
pub struct AlignedSlice<T> {
slice: Box<[T]>,
offset: usize,
@@ -37,8 +37,8 @@ where
{
pub fn of_len(len: usize) -> Self {
// The maximum number of elements that may be waisted in getting the alignment we need is
// (32 - alignment of T) / size of T
let extra_elements = (32 - std::mem::align_of::<T>()) / std::mem::size_of::<T>();
// (64 - alignment of T) / size of T
let extra_elements = (64 - std::mem::align_of::<T>()) / std::mem::size_of::<T>();
let slice: Box<[T]> = (0..len + extra_elements)
.map(|_| Default::default())
.collect();
Loading