pub struct DynResidueParams<const LIMBS: usize> { /* private fields */ }
Expand description
The parameters to efficiently go to and from the Montgomery form for an odd modulus provided at runtime.
Implementations§
Source§impl<const LIMBS: usize> DynResidueParams<LIMBS>
impl<const LIMBS: usize> DynResidueParams<LIMBS>
Sourcepub const fn new(modulus: &Uint<LIMBS>) -> Self
pub const fn new(modulus: &Uint<LIMBS>) -> Self
Instantiates a new set of ResidueParams
representing the given modulus
, which must be odd.
If modulus
is not odd, this function will panic; use new_checked
if you want to be able to detect an invalid modulus.
Sourcepub fn new_checked(modulus: &Uint<LIMBS>) -> CtOption<Self>
👎Deprecated since 0.5.3: This functionality will be moved to new
in a future release.
pub fn new_checked(modulus: &Uint<LIMBS>) -> CtOption<Self>
new
in a future release.Instantiates a new set of ResidueParams
representing the given modulus
if it is odd.
Returns a CtOption
that is None
if the provided modulus is not odd; this is a safer version of new
, which can panic.
Sourcepub const fn modulus(&self) -> &Uint<LIMBS>
pub const fn modulus(&self) -> &Uint<LIMBS>
Returns the modulus which was used to initialize these parameters.
Sourcepub const fn from_residue_params<P>() -> Selfwhere
P: ResidueParams<LIMBS>,
pub const fn from_residue_params<P>() -> Selfwhere
P: ResidueParams<LIMBS>,
Create DynResidueParams
corresponding to a ResidueParams
.
Trait Implementations§
Source§impl<const LIMBS: usize> Clone for DynResidueParams<LIMBS>
impl<const LIMBS: usize> Clone for DynResidueParams<LIMBS>
Source§fn clone(&self) -> DynResidueParams<LIMBS>
fn clone(&self) -> DynResidueParams<LIMBS>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<const LIMBS: usize> ConditionallySelectable for DynResidueParams<LIMBS>
impl<const LIMBS: usize> ConditionallySelectable for DynResidueParams<LIMBS>
Source§fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
Source§fn conditional_assign(&mut self, other: &Self, choice: Choice)
fn conditional_assign(&mut self, other: &Self, choice: Choice)
Source§fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
self
and other
if choice == 1
; otherwise,
reassign both unto themselves. Read moreSource§impl<const LIMBS: usize> ConstantTimeEq for DynResidueParams<LIMBS>
impl<const LIMBS: usize> ConstantTimeEq for DynResidueParams<LIMBS>
Source§impl<const LIMBS: usize> Debug for DynResidueParams<LIMBS>
impl<const LIMBS: usize> Debug for DynResidueParams<LIMBS>
Source§impl<const LIMBS: usize> PartialEq for DynResidueParams<LIMBS>
impl<const LIMBS: usize> PartialEq for DynResidueParams<LIMBS>
impl<const LIMBS: usize> Copy for DynResidueParams<LIMBS>
impl<const LIMBS: usize> Eq for DynResidueParams<LIMBS>
impl<const LIMBS: usize> StructuralPartialEq for DynResidueParams<LIMBS>
Auto Trait Implementations§
impl<const LIMBS: usize> Freeze for DynResidueParams<LIMBS>
impl<const LIMBS: usize> RefUnwindSafe for DynResidueParams<LIMBS>
impl<const LIMBS: usize> Send for DynResidueParams<LIMBS>
impl<const LIMBS: usize> Sync for DynResidueParams<LIMBS>
impl<const LIMBS: usize> Unpin for DynResidueParams<LIMBS>
impl<const LIMBS: usize> UnwindSafe for DynResidueParams<LIMBS>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.