pub struct PolyMat<P, const N: usize, const K: usize, const L: usize>(/* private fields */)
where
P: SizedPolynomial<N>;Implementations§
Source§impl<P, const N: usize, const K: usize, const L: usize> PolyMat<P, N, K, L>where
P: SizedPolynomial<N>,
impl<P, const N: usize, const K: usize, const L: usize> PolyMat<P, N, K, L>where
P: SizedPolynomial<N>,
Sourcepub fn gen_matrix<const TRANSPOSED: bool>(seed: &[u8; 32]) -> Self
pub fn gen_matrix<const TRANSPOSED: bool>(seed: &[u8; 32]) -> Self
Expand seed to A matrix (or A^T if TRANSPOSED is true) For Kyber:
For dilithium: polyvec_matrix_expand TRANSPOSED = false
pub fn gen_a(seed: &[u8; 32]) -> Self
pub fn gen_at(seed: &[u8; 32]) -> Self
pub fn gen_matrix_into<const TRANSPOSED: bool>(&mut self, seed: &[u8; 32])
Trait Implementations§
Source§impl<P, const N: usize, const K: usize, const L: usize> AsMut<[PolyVec<P, N, L>; K]> for PolyMat<P, N, K, L>where
P: SizedPolynomial<N>,
impl<P, const N: usize, const K: usize, const L: usize> AsMut<[PolyVec<P, N, L>; K]> for PolyMat<P, N, K, L>where
P: SizedPolynomial<N>,
Source§impl<P, const N: usize, const K: usize, const L: usize> AsRef<[PolyVec<P, N, L>; K]> for PolyMat<P, N, K, L>where
P: SizedPolynomial<N>,
impl<P, const N: usize, const K: usize, const L: usize> AsRef<[PolyVec<P, N, L>; K]> for PolyMat<P, N, K, L>where
P: SizedPolynomial<N>,
Source§impl<P, const N: usize, const K: usize, const L: usize> Debug for PolyMat<P, N, K, L>where
P: SizedPolynomial<N> + Debug,
impl<P, const N: usize, const K: usize, const L: usize> Debug for PolyMat<P, N, K, L>where
P: SizedPolynomial<N> + Debug,
Source§impl<P, const N: usize, const K: usize, const L: usize> Default for PolyMat<P, N, K, L>where
P: SizedPolynomial<N>,
impl<P, const N: usize, const K: usize, const L: usize> Default for PolyMat<P, N, K, L>where
P: SizedPolynomial<N>,
Auto Trait Implementations§
impl<P, const N: usize, const K: usize, const L: usize> Freeze for PolyMat<P, N, K, L>where
P: Freeze,
impl<P, const N: usize, const K: usize, const L: usize> RefUnwindSafe for PolyMat<P, N, K, L>where
P: RefUnwindSafe,
impl<P, const N: usize, const K: usize, const L: usize> Send for PolyMat<P, N, K, L>where
P: Send,
impl<P, const N: usize, const K: usize, const L: usize> Sync for PolyMat<P, N, K, L>where
P: Sync,
impl<P, const N: usize, const K: usize, const L: usize> Unpin for PolyMat<P, N, K, L>where
P: Unpin,
impl<P, const N: usize, const K: usize, const L: usize> UnsafeUnpin for PolyMat<P, N, K, L>where
P: UnsafeUnpin,
impl<P, const N: usize, const K: usize, const L: usize> UnwindSafe for PolyMat<P, N, K, L>where
P: 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