pub struct DirectDerivationMatrix(/* private fields */);Expand description
A direct derivation matrix.
Implementations§
Source§impl DirectDerivationMatrix
impl DirectDerivationMatrix
Sourcepub fn reachability(self) -> ReachabilityMatrix
pub fn reachability(self) -> ReachabilityMatrix
Returns the derivation matrix.
Methods from Deref<Target = SymbolBitMatrix>§
Sourcepub fn iter_row_syms(&self, row: Symbol) -> impl Iterator<Item = Symbol> + '_
pub fn iter_row_syms(&self, row: Symbol) -> impl Iterator<Item = Symbol> + '_
Creates an iterator over symbols which appear in the given row.
Methods from Deref<Target = BitMatrix>§
Sourcepub fn grow(&mut self, num_rows: usize, value: bool)
pub fn grow(&mut self, num_rows: usize, value: bool)
Grows the matrix in-place, adding num_rows rows filled with value.
Sourcepub fn sub_matrix<R>(&self, range: R) -> BitSubMatrix<'_>where
R: RangeBounds<usize>,
pub fn sub_matrix<R>(&self, range: R) -> BitSubMatrix<'_>where
R: RangeBounds<usize>,
Returns a slice of the matrix’s rows.
Sourcepub fn split_at(&self, row: usize) -> (BitSubMatrix<'_>, BitSubMatrix<'_>)
pub fn split_at(&self, row: usize) -> (BitSubMatrix<'_>, BitSubMatrix<'_>)
Given a row’s index, returns a slice of all rows above that row, a reference to said row, and a slice of all rows below.
Functionally equivalent to (self.sub_matrix(0..row), &self[row], self.sub_matrix(row..self.num_rows())).
Sourcepub fn split_at_mut(
&mut self,
row: usize,
) -> (BitSubMatrixMut<'_>, BitSubMatrixMut<'_>)
pub fn split_at_mut( &mut self, row: usize, ) -> (BitSubMatrixMut<'_>, BitSubMatrixMut<'_>)
Given a row’s index, returns a slice of all rows above that row, a reference to said row, and a slice of all rows below.
Sourcepub fn transitive_closure(&mut self)
pub fn transitive_closure(&mut self)
Computes the transitive closure of the binary relation represented by the matrix.
Uses the Warshall’s algorithm.
Sourcepub fn reflexive_closure(&mut self)
pub fn reflexive_closure(&mut self)
Computes the reflexive closure of the binary relation represented by the matrix.