Struct snarkvm_algorithms::encoding::elligator2::Elligator2 [−][src]
pub struct Elligator2<P: MontgomeryModelParameters + TEModelParameters, G: Group + ProjectiveCurve> { /* fields omitted */ }
Implementations
impl<P: MontgomeryModelParameters + TEModelParameters, G: Group + ProjectiveCurve> Elligator2<P, G>
[src]
impl<P: MontgomeryModelParameters + TEModelParameters, G: Group + ProjectiveCurve> Elligator2<P, G>
[src]pub fn encode(
input: &P::BaseField
) -> Result<(<G as ProjectiveCurve>::Affine, bool), EncodingError>
[src]
pub fn encode(
input: &P::BaseField
) -> Result<(<G as ProjectiveCurve>::Affine, bool), EncodingError>
[src]Returns the encoded group element for a given base field element.
pub fn decode(
group_element: &<G as ProjectiveCurve>::Affine,
sign_high: bool
) -> Result<P::BaseField, EncodingError>
[src]
group_element: &<G as ProjectiveCurve>::Affine,
sign_high: bool
) -> Result<P::BaseField, EncodingError>
Auto Trait Implementations
impl<P, G> RefUnwindSafe for Elligator2<P, G> where
G: RefUnwindSafe,
P: RefUnwindSafe,
G: RefUnwindSafe,
P: RefUnwindSafe,
impl<P, G> Send for Elligator2<P, G>
impl<P, G> Sync for Elligator2<P, G>
impl<P, G> Unpin for Elligator2<P, G> where
G: Unpin,
P: Unpin,
G: Unpin,
P: Unpin,
impl<P, G> UnwindSafe for Elligator2<P, G> where
G: UnwindSafe,
P: UnwindSafe,
G: UnwindSafe,
P: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,