[][src]Struct snarkos_models::curves::fp6_3over2::Fp6

pub struct Fp6<P: Fp6Parameters> {
    pub c0: Fp2<P::Fp2Params>,
    pub c1: Fp2<P::Fp2Params>,
    pub c2: Fp2<P::Fp2Params>,
    // some fields omitted
}

An element of Fp6, represented by c0 + c1 * v + c2 * v^(2).

Fields

c0: Fp2<P::Fp2Params>c1: Fp2<P::Fp2Params>c2: Fp2<P::Fp2Params>

Implementations

impl<P: Fp6Parameters> Fp6<P>[src]

pub fn new(
    c0: Fp2<P::Fp2Params>,
    c1: Fp2<P::Fp2Params>,
    c2: Fp2<P::Fp2Params>
) -> Self
[src]

pub fn mul_by_fp(&mut self, element: &<P::Fp2Params as Fp2Parameters>::Fp)[src]

pub fn mul_by_fp2(&mut self, element: &Fp2<P::Fp2Params>)[src]

pub fn mul_by_1(&mut self, c1: &Fp2<P::Fp2Params>)[src]

pub fn mul_by_01(&mut self, c0: &Fp2<P::Fp2Params>, c1: &Fp2<P::Fp2Params>)[src]

Trait Implementations

impl<'a, P: Fp6Parameters> Add<&'a Fp6<P>> for Fp6<P>[src]

type Output = Self

The resulting type after applying the + operator.

impl<'a, P: Fp6Parameters> AddAssign<&'a Fp6<P>> for Fp6<P>[src]

impl<P, F: PrimeField> AllocGadget<Fp6<P>, F> for Fp6Gadget<P, F> where
    P: Fp6Parameters,
    P::Fp2Params: Fp2Parameters<Fp = F>, 
[src]

impl<P: Fp6Parameters> CanonicalDeserialize for Fp6<P>[src]

impl<P: Fp6Parameters> CanonicalDeserializeWithFlags for Fp6<P>[src]

impl<P: Fp6Parameters> CanonicalSerialize for Fp6<P>[src]

impl<P: Fp6Parameters> CanonicalSerializeWithFlags for Fp6<P>[src]

impl<P: Fp6Parameters> Clone for Fp6<P> where
    P: Fp6Parameters
[src]

impl<P: Fp6Parameters> ConstantSerializedSize for Fp6<P>[src]

impl<P: Fp6Parameters> Copy for Fp6<P> where
    P: Fp6Parameters
[src]

impl<P: Fp6Parameters> Debug for Fp6<P> where
    P: Fp6Parameters
[src]

impl<P: Fp6Parameters> Default for Fp6<P> where
    P: Fp6Parameters
[src]

impl<'de, P: Fp6Parameters> Deserialize<'de> for Fp6<P>[src]

impl<P: Fp6Parameters> Display for Fp6<P>[src]

impl<P: Fp6Parameters> Distribution<Fp6<P>> for Standard[src]

impl<'a, P: Fp6Parameters> Div<&'a Fp6<P>> for Fp6<P>[src]

type Output = Self

The resulting type after applying the / operator.

impl<'a, P: Fp6Parameters> DivAssign<&'a Fp6<P>> for Fp6<P>[src]

impl<P: Fp6Parameters> Eq for Fp6<P> where
    P: Fp6Parameters
[src]

impl<P: Fp6Parameters> Field for Fp6<P>[src]

impl<P, F: PrimeField> FieldGadget<Fp6<P>, F> for Fp6Gadget<P, F> where
    P: Fp6Parameters,
    P::Fp2Params: Fp2Parameters<Fp = F>, 
[src]

type Variable = ((ConstraintVar<F>, ConstraintVar<F>), (ConstraintVar<F>, ConstraintVar<F>), (ConstraintVar<F>, ConstraintVar<F>))

fn mul<CS: ConstraintSystem<F>>(
    &self,
    cs: CS,
    other: &Self
) -> Result<Self, SynthesisError>
[src]

Use the Toom-Cook-3x method to compute multiplication.

fn square<CS: ConstraintSystem<F>>(
    &self,
    cs: CS
) -> Result<Self, SynthesisError>
[src]

Use the Toom-Cook-3x method to compute multiplication.

fn mul_by_constant<CS: ConstraintSystem<F>>(
    &self,
    cs: CS,
    other: &Fp6<P>
) -> Result<Self, SynthesisError>
[src]

Use the Toom-Cook-3x method to compute multiplication.

impl<'a, P: Fp6Parameters> From<&'a [bool]> for Fp6<P>[src]

impl<P: Fp6Parameters> From<u128> for Fp6<P>[src]

impl<P: Fp6Parameters> From<u16> for Fp6<P>[src]

impl<P: Fp6Parameters> From<u32> for Fp6<P>[src]

impl<P: Fp6Parameters> From<u64> for Fp6<P>[src]

impl<P: Fp6Parameters> From<u8> for Fp6<P>[src]

impl<P: Fp6Parameters> FromBytes for Fp6<P>[src]

impl<P: Fp6Parameters> Hash for Fp6<P> where
    P: Fp6Parameters
[src]

impl<'a, P: Fp6Parameters> Mul<&'a Fp6<P>> for Fp6<P>[src]

type Output = Self

The resulting type after applying the * operator.

impl<'a, P: Fp6Parameters> MulAssign<&'a Fp6<P>> for Fp6<P>[src]

impl<P: Fp6Parameters> Neg for Fp6<P>[src]

type Output = Self

The resulting type after applying the - operator.

impl<P: Fp6Parameters> One for Fp6<P>[src]

impl<P: Fp6Parameters> Ord for Fp6<P>[src]

Fp3 elements are ordered lexicographically.

impl<P: Fp6Parameters> PartialEq<Fp6<P>> for Fp6<P> where
    P: Fp6Parameters
[src]

impl<P: Fp6Parameters> PartialOrd<Fp6<P>> for Fp6<P>[src]

impl<P: Fp6Parameters> Serialize for Fp6<P>[src]

impl<'a, P: Fp6Parameters> Sub<&'a Fp6<P>> for Fp6<P>[src]

type Output = Self

The resulting type after applying the - operator.

impl<'a, P: Fp6Parameters> SubAssign<&'a Fp6<P>> for Fp6<P>[src]

impl<P: Fp6Parameters> ToBytes for Fp6<P>[src]

impl<P: Fp6Parameters> Zero for Fp6<P>[src]

Auto Trait Implementations

impl<P> RefUnwindSafe for Fp6<P> where
    P: RefUnwindSafe,
    <<P as Fp6Parameters>::Fp2Params as Fp2Parameters>::Fp: RefUnwindSafe,
    <P as Fp6Parameters>::Fp2Params: Fp2Parameters + RefUnwindSafe

impl<P> Send for Fp6<P> where
    <<P as Fp6Parameters>::Fp2Params as Fp2Parameters>::Fp: Send,
    <P as Fp6Parameters>::Fp2Params: Fp2Parameters + Send

impl<P> Sync for Fp6<P> where
    <<P as Fp6Parameters>::Fp2Params as Fp2Parameters>::Fp: Sync,
    <P as Fp6Parameters>::Fp2Params: Fp2Parameters + Sync

impl<P> Unpin for Fp6<P> where
    P: Unpin,
    <<P as Fp6Parameters>::Fp2Params as Fp2Parameters>::Fp: Unpin,
    <P as Fp6Parameters>::Fp2Params: Fp2Parameters + Unpin

impl<P> UnwindSafe for Fp6<P> where
    P: UnwindSafe,
    <<P as Fp6Parameters>::Fp2Params as Fp2Parameters>::Fp: UnwindSafe,
    <P as Fp6Parameters>::Fp2Params: Fp2Parameters + UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> UniformRand for T where
    Standard: Distribution<T>, 
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,