use baracuda_kernels_types::GgufBlockFormat;
#[repr(C, packed)]
#[derive(Copy, Clone, Debug)]
pub struct BlockQ4_0 {
pub d: u16,
pub qs: [u8; 16],
}
const _: () = assert!(core::mem::size_of::<BlockQ4_0>() == 18);
#[repr(C, packed)]
#[derive(Copy, Clone, Debug)]
pub struct BlockQ4_1 {
pub dm: [u16; 2],
pub qs: [u8; 16],
}
const _: () = assert!(core::mem::size_of::<BlockQ4_1>() == 20);
#[repr(C, packed)]
#[derive(Copy, Clone, Debug)]
pub struct BlockQ5_0 {
pub d: u16,
pub qh: [u8; 4],
pub qs: [u8; 16],
}
const _: () = assert!(core::mem::size_of::<BlockQ5_0>() == 22);
#[repr(C, packed)]
#[derive(Copy, Clone, Debug)]
pub struct BlockQ5_1 {
pub dm: [u16; 2],
pub qh: [u8; 4],
pub qs: [u8; 16],
}
const _: () = assert!(core::mem::size_of::<BlockQ5_1>() == 24);
#[repr(C, packed)]
#[derive(Copy, Clone, Debug)]
pub struct BlockQ8_0 {
pub d: u16,
pub qs: [i8; 32],
}
const _: () = assert!(core::mem::size_of::<BlockQ8_0>() == 34);
#[repr(C, packed)]
#[derive(Copy, Clone, Debug)]
pub struct BlockQ2K {
pub scales: [u8; 16],
pub qs: [u8; 64],
pub dm: [u16; 2],
}
const _: () = assert!(core::mem::size_of::<BlockQ2K>() == 84);
#[repr(C, packed)]
#[derive(Copy, Clone, Debug)]
pub struct BlockQ3K {
pub hmask: [u8; 32],
pub qs: [u8; 64],
pub scales: [u8; 12],
pub d: u16,
}
const _: () = assert!(core::mem::size_of::<BlockQ3K>() == 110);
#[repr(C, packed)]
#[derive(Copy, Clone, Debug)]
pub struct BlockQ4K {
pub dm: [u16; 2],
pub scales: [u8; 12],
pub qs: [u8; 128],
}
const _: () = assert!(core::mem::size_of::<BlockQ4K>() == 144);
#[repr(C, packed)]
#[derive(Copy, Clone, Debug)]
pub struct BlockQ5K {
pub dm: [u16; 2],
pub scales: [u8; 12],
pub qh: [u8; 32],
pub qs: [u8; 128],
}
const _: () = assert!(core::mem::size_of::<BlockQ5K>() == 176);
#[repr(C, packed)]
#[derive(Copy, Clone, Debug)]
pub struct BlockQ6K {
pub ql: [u8; 128],
pub qh: [u8; 64],
pub scales: [i8; 16],
pub d: u16,
}
const _: () = assert!(core::mem::size_of::<BlockQ6K>() == 210);
#[repr(C, packed)]
#[derive(Copy, Clone, Debug)]
pub struct BlockQ8K {
pub d: f32,
pub qs: [i8; 256],
pub bsums: [i16; 16],
}
const _: () = assert!(core::mem::size_of::<BlockQ8K>() == 292);
const _: () = {
assert!(core::mem::size_of::<BlockQ4_0>() == GgufBlockFormat::Q4_0.type_size());
assert!(core::mem::size_of::<BlockQ4_1>() == GgufBlockFormat::Q4_1.type_size());
assert!(core::mem::size_of::<BlockQ5_0>() == GgufBlockFormat::Q5_0.type_size());
assert!(core::mem::size_of::<BlockQ5_1>() == GgufBlockFormat::Q5_1.type_size());
assert!(core::mem::size_of::<BlockQ8_0>() == GgufBlockFormat::Q8_0.type_size());
assert!(core::mem::size_of::<BlockQ2K>() == GgufBlockFormat::Q2K.type_size());
assert!(core::mem::size_of::<BlockQ3K>() == GgufBlockFormat::Q3K.type_size());
assert!(core::mem::size_of::<BlockQ4K>() == GgufBlockFormat::Q4K.type_size());
assert!(core::mem::size_of::<BlockQ5K>() == GgufBlockFormat::Q5K.type_size());
assert!(core::mem::size_of::<BlockQ6K>() == GgufBlockFormat::Q6K.type_size());
assert!(core::mem::size_of::<BlockQ8K>() == GgufBlockFormat::Q8K.type_size());
};