nano_gemm_core/
lib.rs

1#![no_std]
2
3#[derive(Copy, Clone)]
4pub struct MicroKernelData<T> {
5    pub alpha: T,
6    pub beta: T,
7    pub conj_lhs: bool,
8    pub conj_rhs: bool,
9    pub k: usize,
10    pub dst_cs: isize,
11    pub lhs_cs: isize,
12    pub rhs_rs: isize,
13    pub rhs_cs: isize,
14    pub last_mask: *const (),
15}
16unsafe impl<T: Sync> Sync for MicroKernelData<T> {}
17unsafe impl<T: Send> Send for MicroKernelData<T> {}
18
19pub type MicroKernel<T> =
20    unsafe fn(data: &MicroKernelData<T>, dst: *mut T, lhs: *const T, rhs: *const T);