pub struct NttVector<K: ArraySize>(pub Array<NttPolynomial, K>);
Expand description
A vector of K NTT-domain polynomials
Tuple Fields§
§0: Array<NttPolynomial, K>
Implementations§
source§impl<K: ArraySize> NttVector<K>
impl<K: ArraySize> NttVector<K>
pub fn sample_uniform(rho: &B32, i: usize, transpose: bool) -> Self
source§impl<K: ArraySize> NttVector<K>
impl<K: ArraySize> NttVector<K>
pub fn ntt_inverse(&self) -> PolynomialVector<K>
Trait Implementations§
source§impl<D, K> Encode<D> for NttVector<K>where
D: VectorEncodingSize<K>,
K: ArraySize,
impl<D, K> Encode<D> for NttVector<K>where
D: VectorEncodingSize<K>,
K: ArraySize,
type EncodedSize = <D as VectorEncodingSize<K>>::EncodedPolynomialVectorSize
fn encode(&self) -> Array<u8, Self::EncodedSize>
fn decode(enc: &Array<u8, Self::EncodedSize>) -> Self
source§impl<K: ArraySize> Mul<&NttVector<K>> for &NttVector<K>
impl<K: ArraySize> Mul<&NttVector<K>> for &NttVector<K>
§type Output = NttPolynomial
type Output = NttPolynomial
The resulting type after applying the
*
operator.source§impl<K: PartialEq + ArraySize> PartialEq for NttVector<K>
impl<K: PartialEq + ArraySize> PartialEq for NttVector<K>
impl<K: ArraySize> StructuralPartialEq for NttVector<K>
Auto Trait Implementations§
impl<K> Freeze for NttVector<K>
impl<K> RefUnwindSafe for NttVector<K>
impl<K> Send for NttVector<K>
impl<K> Sync for NttVector<K>
impl<K> Unpin for NttVector<K>
impl<K> UnwindSafe for NttVector<K>
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