MicrokernelWithArgmax

Trait MicrokernelWithArgmax 

Source
pub trait MicrokernelWithArgmax<T: TropicalWithArgmax<Index = u32>>: Microkernel<T> {
    // Required method
    unsafe fn execute_with_argmax(
        &self,
        mr: usize,
        nr: usize,
        k: usize,
        k_offset: usize,
        a: *const T::Scalar,
        b: *const T::Scalar,
        c: *mut T,
        argmax: *mut u32,
        ldc: usize,
    );
}
Expand description

Trait for microkernels that track argmax during computation.

Required Methods§

Source

unsafe fn execute_with_argmax( &self, mr: usize, nr: usize, k: usize, k_offset: usize, a: *const T::Scalar, b: *const T::Scalar, c: *mut T, argmax: *mut u32, ldc: usize, )

Execute the microkernel with argmax tracking.

Same as execute, but also fills argmax with the k-index that produced each optimal C[i,j] value.

§Safety

Same requirements as execute, plus:

  • argmax must point to at least mr * ldc elements

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§