pub(crate) struct DividedMatrix<const LIMBS: usize, MATRIX: Unit> {
pub(super) inner: MATRIX,
pub k: u32,
pub k_upper_bound: u32,
}Expand description
A matrix whose elements still need to be divided by 2^k.
Since some of the operations conditionally increase k, this struct furthermore keeps track of
k_upper_bound; an upper bound on the value of k.
Fields§
§inner: MATRIX§k: u32§k_upper_bound: u32Implementations§
Source§impl<const LIMBS: usize> DividedMatrix<LIMBS, IntMatrix<LIMBS>>
impl<const LIMBS: usize> DividedMatrix<LIMBS, IntMatrix<LIMBS>>
Sourcepub(super) const fn conditional_negate_top_row(&mut self, negate: Choice)
pub(super) const fn conditional_negate_top_row(&mut self, negate: Choice)
Negate the top row of this matrix if negate; otherwise do nothing.
Sourcepub(super) const fn conditional_negate_bottom_row(&mut self, negate: Choice)
pub(super) const fn conditional_negate_bottom_row(&mut self, negate: Choice)
Negate the bottom row of this matrix if negate; otherwise do nothing.
pub(super) const fn to_divided_pattern_matrix( self, ) -> DividedPatternMatrix<LIMBS>
Trait Implementations§
Source§impl<const LIMBS: usize, MATRIX: Clone + Unit> Clone for DividedMatrix<LIMBS, MATRIX>
impl<const LIMBS: usize, MATRIX: Clone + Unit> Clone for DividedMatrix<LIMBS, MATRIX>
Source§fn clone(&self) -> DividedMatrix<LIMBS, MATRIX>
fn clone(&self) -> DividedMatrix<LIMBS, MATRIX>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<const LIMBS: usize, MATRIX: PartialEq + Unit> PartialEq for DividedMatrix<LIMBS, MATRIX>
impl<const LIMBS: usize, MATRIX: PartialEq + Unit> PartialEq for DividedMatrix<LIMBS, MATRIX>
Source§fn eq(&self, other: &DividedMatrix<LIMBS, MATRIX>) -> bool
fn eq(&self, other: &DividedMatrix<LIMBS, MATRIX>) -> bool
Tests for
self and other values to be equal, and is used by ==.impl<const LIMBS: usize, MATRIX: Copy + Unit> Copy for DividedMatrix<LIMBS, MATRIX>
impl<const LIMBS: usize, MATRIX: Unit> StructuralPartialEq for DividedMatrix<LIMBS, MATRIX>
Auto Trait Implementations§
impl<const LIMBS: usize, MATRIX> Freeze for DividedMatrix<LIMBS, MATRIX>where
MATRIX: Freeze,
impl<const LIMBS: usize, MATRIX> RefUnwindSafe for DividedMatrix<LIMBS, MATRIX>where
MATRIX: RefUnwindSafe,
impl<const LIMBS: usize, MATRIX> Send for DividedMatrix<LIMBS, MATRIX>where
MATRIX: Send,
impl<const LIMBS: usize, MATRIX> Sync for DividedMatrix<LIMBS, MATRIX>where
MATRIX: Sync,
impl<const LIMBS: usize, MATRIX> Unpin for DividedMatrix<LIMBS, MATRIX>where
MATRIX: Unpin,
impl<const LIMBS: usize, MATRIX> UnsafeUnpin for DividedMatrix<LIMBS, MATRIX>where
MATRIX: UnsafeUnpin,
impl<const LIMBS: usize, MATRIX> UnwindSafe for DividedMatrix<LIMBS, MATRIX>where
MATRIX: UnwindSafe,
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