Function sprs::smmp::numeric

source ·
pub fn numeric<Iptr: SpIndex, I: SpIndex, A, B, N: MulAcc<A, B> + Zero>(
    a: CsMatViewI<'_, A, I, Iptr>,
    b: CsMatViewI<'_, B, I, Iptr>,
    c: CsMatViewMutI<'_, N, I, Iptr>,
    tmp: &mut [N]
)
Expand description

Numeric part of the matrix product C = A * B with A, B and C stored in the CSR matrix format.

This function is low-level, and supports execution on chunks of the rows of C and A. To use the chunks, split the indptrs of A and C and split c_indices and c_data to only contain the elements referenced in c_indptr. This function will take care of using the correct offset inside the sliced indices and data.

Panics

tmp.len() should be equal to the maximum dimension of the inputs.

The matrices should be in proper CSR structure, and their dimensions should be compatible. Failures to do so may result in out of bounds errors (though some cases might go unnoticed).

The parts for the C matrix should come from the symbolic function.