pub struct PmrGreaterThanOrEqual<'a>(/* private fields */);Expand description
For CrtBundles x and y, output x >= y using PMR representation.
For this to work, there must be an extra modulus in the CRT that is not
necessary to represent the values. This ensures that if x >= y, the most
significant PMR digit is nonzero after subtracting them. You could add a
prime to your CrtBundles right before using this gadget.
Implementations§
Source§impl<'a> PmrGreaterThanOrEqual<'a>
impl<'a> PmrGreaterThanOrEqual<'a>
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new PmrGreaterThanOrEqual circuit.
Trait Implementations§
Source§impl<'a, F: FancyBinary + FancyArithmetic + FancyProj> Circuit<F> for PmrGreaterThanOrEqual<'a>where
F::Item: 'a,
impl<'a, F: FancyBinary + FancyArithmetic + FancyProj> Circuit<F> for PmrGreaterThanOrEqual<'a>where
F::Item: 'a,
Source§impl<'a> Default for PmrGreaterThanOrEqual<'a>
impl<'a> Default for PmrGreaterThanOrEqual<'a>
Source§fn default() -> PmrGreaterThanOrEqual<'a>
fn default() -> PmrGreaterThanOrEqual<'a>
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl<'a> Freeze for PmrGreaterThanOrEqual<'a>
impl<'a> RefUnwindSafe for PmrGreaterThanOrEqual<'a>
impl<'a> Send for PmrGreaterThanOrEqual<'a>
impl<'a> Sync for PmrGreaterThanOrEqual<'a>
impl<'a> Unpin for PmrGreaterThanOrEqual<'a>
impl<'a> UnsafeUnpin for PmrGreaterThanOrEqual<'a>
impl<'a> UnwindSafe for PmrGreaterThanOrEqual<'a>
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§impl<T> IsSameType<T> for T
impl<T> IsSameType<T> for T
§type EqualityProposition = TrueEqualityProposition
type EqualityProposition = TrueEqualityProposition
The [
EqualityProposition] that Self == T