Back to Eqiora docs Skip to main content

RowLinearAction

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§

type Scalar

Value stored in each input and output coordinate.

Required Methods§

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.

Implementors§

§

impl<S> RowLinearAction for CsrMatrix<S>
where S: Scalar + ComplexFloat + Sync,

§

type Scalar = S

§

impl<S> RowLinearAction for PacketLinearOperator<S>
where S: Scalar + ComplexFloat + Sync,

§

type Scalar = S

§

impl<S> RowLinearAction for CanonicalCsrSystemView<S>
where S: Scalar + ComplexFloat<Real = f64> + Sync,

§

type Scalar = S