pub struct ModularOpsU64<T> { /* private fields */ }Trait Implementations§
Source§impl<T> ArithmeticLazyOps for ModularOpsU64<T>
impl<T> ArithmeticLazyOps for ModularOpsU64<T>
Source§impl<T> ArithmeticOps for ModularOpsU64<T>
impl<T> ArithmeticOps for ModularOpsU64<T>
type Element = u64
fn add(&self, a: &Self::Element, b: &Self::Element) -> Self::Element
fn mul(&self, a: &Self::Element, b: &Self::Element) -> Self::Element
fn sub(&self, a: &Self::Element, b: &Self::Element) -> Self::Element
fn neg(&self, a: &Self::Element) -> Self::Element
Source§impl<T> ModInit for ModularOpsU64<T>where
T: Modulus<Element = u64>,
impl<T> ModInit for ModularOpsU64<T>where
T: Modulus<Element = u64>,
Source§impl<R: RowMut<Element = u64>, T> ShoupMatrixFMA<R> for ModularOpsU64<T>
impl<R: RowMut<Element = u64>, T> ShoupMatrixFMA<R> for ModularOpsU64<T>
Source§impl<T> VectorOps for ModularOpsU64<T>
impl<T> VectorOps for ModularOpsU64<T>
type Element = u64
fn elwise_add_mut(&self, a: &mut [Self::Element], b: &[Self::Element])
fn elwise_sub_mut(&self, a: &mut [Self::Element], b: &[Self::Element])
fn elwise_mul_mut(&self, a: &mut [Self::Element], b: &[Self::Element])
fn elwise_neg_mut(&self, a: &mut [Self::Element])
Source§fn elwise_scalar_mul(
&self,
out: &mut [Self::Element],
a: &[Self::Element],
b: &Self::Element,
)
fn elwise_scalar_mul( &self, out: &mut [Self::Element], a: &[Self::Element], b: &Self::Element, )
Sets out as
out[i] = a[i] * bfn elwise_mul( &self, out: &mut [Self::Element], a: &[Self::Element], b: &[Self::Element], )
fn elwise_scalar_mul_mut(&self, a: &mut [Self::Element], b: &Self::Element)
Source§fn elwise_fma_mut(
&self,
a: &mut [Self::Element],
b: &[Self::Element],
c: &[Self::Element],
)
fn elwise_fma_mut( &self, a: &mut [Self::Element], b: &[Self::Element], c: &[Self::Element], )
inplace mutates
a: a = a + b*cfn elwise_fma_scalar_mut( &self, a: &mut [Self::Element], b: &[Self::Element], c: &Self::Element, )
Auto Trait Implementations§
impl<T> Freeze for ModularOpsU64<T>where
T: Freeze,
impl<T> RefUnwindSafe for ModularOpsU64<T>where
T: RefUnwindSafe,
impl<T> Send for ModularOpsU64<T>where
T: Send,
impl<T> Sync for ModularOpsU64<T>where
T: Sync,
impl<T> Unpin for ModularOpsU64<T>where
T: Unpin,
impl<T> UnwindSafe for ModularOpsU64<T>where
T: 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> 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