pub trait CandidateMatrixSource<T: Scalar> {
// Required methods
fn nrows(&self) -> usize;
fn ncols(&self) -> usize;
fn get_block(&self, rows: &[usize], cols: &[usize], out: &mut [T]);
// Provided methods
fn dense_column_major_slice(&self) -> Option<&[T]> { ... }
fn get(&self, row: usize, col: usize) -> T { ... }
}Expand description
Abstraction for accessing a matrix that will be cross-interpolated.
Implementors provide block-level access (filling column-major sub-blocks) so that kernels can select pivots without materializing the full matrix.
Required Methods§
Provided Methods§
Sourcefn dense_column_major_slice(&self) -> Option<&[T]>
fn dense_column_major_slice(&self) -> Option<&[T]>
Borrow the whole matrix in column-major layout when available.