pub struct Elem<M, E: Encoding> {
pub(super) limbs: [u64; 6],
pub(super) m: PhantomData<M>,
pub(super) encoding: PhantomData<E>,
}
Expand description
Elements of ℤ/mℤ for some modulus m. Elements are always fully reduced with respect to m; i.e. the 0 <= x < m for every value x.
Fields§
§limbs: [u64; 6]
§m: PhantomData<M>
The modulus m for the ring ℤ/mℤ for which this element is a value.
encoding: PhantomData<E>
The number of Montgomery factors that need to be canceled out from
value
to get the actual value.
Implementations§
Trait Implementations§
impl<M: Copy, E: Copy + Encoding> Copy for Elem<M, E>
Auto Trait Implementations§
impl<M, E> Freeze for Elem<M, E>
impl<M, E> RefUnwindSafe for Elem<M, E>where
M: RefUnwindSafe,
E: RefUnwindSafe,
impl<M, E> Send for Elem<M, E>
impl<M, E> Sync for Elem<M, E>
impl<M, E> Unpin for Elem<M, E>
impl<M, E> UnwindSafe for Elem<M, E>where
M: UnwindSafe,
E: 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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)