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);