Trait RowLinearAction
pub trait RowLinearAction: Debug + Sync {
type Scalar;
// Required method
fn apply_rows(
&self,
rows: Range<usize>,
input: &[Self::Scalar],
output: &mut [Self::Scalar],
) -> Result<(), Diagnostic>;
}Description
Independent action on a contiguous subset of output rows.
This is an optional host-local execution capability, not a distributed
layout. input is still the complete resident vector; output contains
exactly rows.len() values corresponding to the ordered global row range.
Disjoint ranges may be evaluated concurrently.
Required Associated Types§
Required Methods§
fn apply_rows(
&self,
rows: Range<usize>,
input: &[Self::Scalar],
output: &mut [Self::Scalar],
) -> Result<(), Diagnostic>
fn apply_rows( &self, rows: Range<usize>, input: &[Self::Scalar], output: &mut [Self::Scalar], ) -> Result<(), Diagnostic>
Compute one contiguous output-row range without allocating.
§Errors
Returns a numerical diagnostic for an invalid range, shape mismatch, or non-finite result.