#[repr(C, align(64))]pub struct Clifford3BitCacheLine64 {
pub words: [Clifford3BitWord64; 8],
}Expand description
64-byte Cache-Line Block of 128 weights. Holds exactly 8 x Clifford3BitWord64 words = 128 weights. Size is exactly 64 bytes (1 L1d cache line) and 64-byte cache-line aligned.
Fields§
§words: [Clifford3BitWord64; 8]Implementations§
Source§impl Clifford3BitCacheLine64
impl Clifford3BitCacheLine64
pub const CAPACITY: usize = 128
Sourcepub fn pack_128(weights: &[f32; 128]) -> Self
pub fn pack_128(weights: &[f32; 128]) -> Self
Packs 128 float weights into a single 64-byte cache line block. Automatically computes optimal per-16 sub-block standard deviation scales.
Sourcepub fn unpack_128(&self, out: &mut [f32; 128])
pub fn unpack_128(&self, out: &mut [f32; 128])
Unpacks all 128 float weights into destination slice.
Sourcepub fn as_bytes(&self) -> &[u8; 64]
pub fn as_bytes(&self) -> &[u8; 64]
Returns a direct 64-byte slice view of this cache line block.
Sourcepub fn slice_as_bytes(slice: &[Self]) -> &[u8] ⓘ
pub fn slice_as_bytes(slice: &[Self]) -> &[u8] ⓘ
Converts a slice of cache lines into a contiguous byte slice without allocations.
Sourcepub fn slice_from_bytes(bytes: &[u8]) -> Result<&[Self], String>
pub fn slice_from_bytes(bytes: &[u8]) -> Result<&[Self], String>
Casts an aligned slice of bytes into a slice of 64-byte cache lines.
Trait Implementations§
Source§impl Clone for Clifford3BitCacheLine64
impl Clone for Clifford3BitCacheLine64
impl Copy for Clifford3BitCacheLine64
Source§impl Debug for Clifford3BitCacheLine64
impl Debug for Clifford3BitCacheLine64
Source§impl Default for Clifford3BitCacheLine64
impl Default for Clifford3BitCacheLine64
impl Eq for Clifford3BitCacheLine64
Source§impl PartialEq for Clifford3BitCacheLine64
impl PartialEq for Clifford3BitCacheLine64
impl StructuralPartialEq for Clifford3BitCacheLine64
Auto Trait Implementations§
impl Forget for Clifford3BitCacheLine64
impl Freeze for Clifford3BitCacheLine64
impl Move for Clifford3BitCacheLine64
impl RefUnwindSafe for Clifford3BitCacheLine64
impl Send for Clifford3BitCacheLine64
impl Sync for Clifford3BitCacheLine64
impl Unpin for Clifford3BitCacheLine64
impl UnsafeUnpin for Clifford3BitCacheLine64
impl UnwindSafe for Clifford3BitCacheLine64
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more