pub struct GLWETensorKeyCompressed<D: Data, W: ZnxWord>(/* private fields */);Expand description
Seed-compressed GLWE tensor key layout.
A newtype wrapper around GGLWECompressed representing
the seed-compressed form of a GLWE tensor key.
Implementations§
Source§impl<D: Data, W: ZnxWord> GLWETensorKeyCompressed<D, W>
impl<D: Data, W: ZnxWord> GLWETensorKeyCompressed<D, W>
pub fn bytes_of_from_infos<A>(infos: &A) -> usizewhere
A: GGLWEInfos,
pub fn bytes_of( n: Degree, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> usize
Trait Implementations§
Source§impl<D: Clone + Data, W: Clone + ZnxWord> Clone for GLWETensorKeyCompressed<D, W>
impl<D: Clone + Data, W: Clone + ZnxWord> Clone for GLWETensorKeyCompressed<D, W>
Source§fn clone(&self) -> GLWETensorKeyCompressed<D, W>
fn clone(&self) -> GLWETensorKeyCompressed<D, W>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<D: HostDataRef, W: ZnxWord> Debug for GLWETensorKeyCompressed<D, W>
impl<D: HostDataRef, W: ZnxWord> Debug for GLWETensorKeyCompressed<D, W>
Source§impl<D: HostDataRef, W: ZnxWord> Display for GLWETensorKeyCompressed<D, W>
impl<D: HostDataRef, W: ZnxWord> Display for GLWETensorKeyCompressed<D, W>
impl<D: Eq + Data, W: Eq + ZnxWord> Eq for GLWETensorKeyCompressed<D, W>
Source§impl<D: HostDataMut, W: ZnxWord> FillUniform for GLWETensorKeyCompressed<D, W>
impl<D: HostDataMut, W: ZnxWord> FillUniform for GLWETensorKeyCompressed<D, W>
Source§impl<D: HostDataMut, W: ZnxWord> GGLWECompressedSeedMut for GLWETensorKeyCompressed<D, W>
impl<D: HostDataMut, W: ZnxWord> GGLWECompressedSeedMut for GLWETensorKeyCompressed<D, W>
Source§impl<BE: Backend> GGLWECompressedToBackendMut<BE> for GLWETensorKeyCompressed<BE::OwnedBuf, BE::ZnxWord>
impl<BE: Backend> GGLWECompressedToBackendMut<BE> for GLWETensorKeyCompressed<BE::OwnedBuf, BE::ZnxWord>
fn to_backend_mut(&mut self) -> GGLWECompressedBackendMut<'_, BE>
Source§impl<BE: Backend> GGLWECompressedToBackendRef<BE> for GLWETensorKeyCompressed<BE::OwnedBuf, BE::ZnxWord>
impl<BE: Backend> GGLWECompressedToBackendRef<BE> for GLWETensorKeyCompressed<BE::OwnedBuf, BE::ZnxWord>
fn to_backend_ref(&self) -> GGLWECompressedBackendRef<'_, BE>
Source§impl<D: Data, W: ZnxWord> GGLWEInfos for GLWETensorKeyCompressed<D, W>
impl<D: Data, W: ZnxWord> GGLWEInfos for GLWETensorKeyCompressed<D, W>
Source§fn k_aux(&self) -> TorusPrecision
fn k_aux(&self) -> TorusPrecision
Auxiliary guard precision (in bits) stored below the gadget region and
used for noise management during key operations. Free value, need not be
a multiple of
base2k. In practice dsize*base2k + logN.fn rank_in(&self) -> Rank
fn rank_out(&self) -> Rank
fn dsize(&self) -> Dsize
Source§fn stride(&self) -> usize
fn stride(&self) -> usize
Row stride into the stored matrix: digit
i is stored row
(i + 1) * stride - 1. A key used as stored has stride 1; a
GGLWEView coarsening it to dsize reports
dsize / stored dsize.fn gglwe_layout(&self) -> GGLWELayout
Source§impl<D: Data, W: ZnxWord> GLWEInfos for GLWETensorKeyCompressed<D, W>
impl<D: Data, W: ZnxWord> GLWEInfos for GLWETensorKeyCompressed<D, W>
Source§fn glwe_layout(&self) -> GLWELayout
fn glwe_layout(&self) -> GLWELayout
Returns a plain-data
GLWELayout snapshot of the current parameters.Source§impl<D: Data, W: ZnxWord> LWEInfos for GLWETensorKeyCompressed<D, W>
impl<D: Data, W: ZnxWord> LWEInfos for GLWETensorKeyCompressed<D, W>
Source§fn n(&self) -> Degree
fn n(&self) -> Degree
Returns the LWE dimension, i.e. the number of mask elements (= GLWE ring degree N).
Source§fn base2k(&self) -> Base2K
fn base2k(&self) -> Base2K
Returns the base-2-log of the limb width used for the RNS/CRT representation.
Source§fn max_size(&self) -> usize
fn max_size(&self) -> usize
Returns the allocated limb capacity of the backing container: the
physical width operations may compute at (
size() <= max_size()).
Together with k() this fully describes an object: k is the claimed
precision and max_size the allocation. Layout/spec types without a
buffer report their metadata-derived width.Source§fn k(&self) -> TorusPrecision
fn k(&self) -> TorusPrecision
Returns the Torus precision used by the object.
Source§fn max_k(&self) -> TorusPrecision
fn max_k(&self) -> TorusPrecision
Returns the Torus precision the allocation can hold
(
Self::max_size * base2k).Source§fn lwe_layout(&self) -> LWELayout
fn lwe_layout(&self) -> LWELayout
Returns a plain-data
LWELayout snapshot of the current parameters.Source§impl<D: PartialEq + Data, W: PartialEq + ZnxWord> PartialEq for GLWETensorKeyCompressed<D, W>
impl<D: PartialEq + Data, W: PartialEq + ZnxWord> PartialEq for GLWETensorKeyCompressed<D, W>
Source§impl<D: HostDataMut, W: ZnxWord> ReaderFrom for GLWETensorKeyCompressed<D, W>
impl<D: HostDataMut, W: ZnxWord> ReaderFrom for GLWETensorKeyCompressed<D, W>
impl<D: PartialEq + Data, W: PartialEq + ZnxWord> StructuralPartialEq for GLWETensorKeyCompressed<D, W>
Auto Trait Implementations§
impl<D, W> Freeze for GLWETensorKeyCompressed<D, W>where
GGLWECompressed<D, W>: Freeze,
impl<D, W> RefUnwindSafe for GLWETensorKeyCompressed<D, W>where
GGLWECompressed<D, W>: RefUnwindSafe,
impl<D, W> Send for GLWETensorKeyCompressed<D, W>where
GGLWECompressed<D, W>: Send,
impl<D, W> Sync for GLWETensorKeyCompressed<D, W>where
GGLWECompressed<D, W>: Sync,
impl<D, W> Unpin for GLWETensorKeyCompressed<D, W>where
GGLWECompressed<D, W>: Unpin,
impl<D, W> UnsafeUnpin for GLWETensorKeyCompressed<D, W>where
GGLWECompressed<D, W>: UnsafeUnpin,
impl<D, W> UnwindSafe for GLWETensorKeyCompressed<D, W>where
GGLWECompressed<D, W>: 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more