pub struct DirectDerivationMatrix(/* private fields */);
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>§
pub fn iter_row_syms(&self, row: Symbol) -> impl Iterator<Item = Symbol> + '_
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.
Trait Implementations§
Source§impl Deref for DirectDerivationMatrix
impl Deref for DirectDerivationMatrix
Source§impl DerefMut for DirectDerivationMatrix
impl DerefMut for DirectDerivationMatrix
Source§impl From<DirectDerivationMatrix> for SymbolBitMatrix
impl From<DirectDerivationMatrix> for SymbolBitMatrix
Source§fn from(value: DirectDerivationMatrix) -> Self
fn from(value: DirectDerivationMatrix) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for DirectDerivationMatrix
impl RefUnwindSafe for DirectDerivationMatrix
impl Send for DirectDerivationMatrix
impl Sync for DirectDerivationMatrix
impl Unpin for DirectDerivationMatrix
impl UnwindSafe for DirectDerivationMatrix
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more