Enum ark_nonnative_field::NonNativeFieldVar[][src]

#[must_use]pub enum NonNativeFieldVar<TargetField: PrimeField, BaseField: PrimeField> {
    Constant(TargetField),
    Var(AllocatedNonNativeFieldVar<TargetField, BaseField>),
}

A gadget for representing non-native (TargetField) field elements over the constraint field (BaseField).

Variants

Constant(TargetField)

Constant

Var(AllocatedNonNativeFieldVar<TargetField, BaseField>)

Allocated gadget

Implementations

impl<TargetField: PrimeField, BaseField: PrimeField> NonNativeFieldVar<TargetField, BaseField>[src]

pub fn mul_without_reduce(
    &self,
    other: &Self
) -> R1CSResult<NonNativeFieldMulResultVar<TargetField, BaseField>>
[src]

The mul_without_reduce for NonNativeFieldVar

Trait Implementations

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Add<&'a NonNativeFieldVar<TargetField, BaseField>> for &'a NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the + operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Add<&'a NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the + operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Add<NonNativeFieldVar<TargetField, BaseField>> for &'a NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the + operator.

impl<TargetField: PrimeField, BaseField: PrimeField> Add<NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the + operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Add<TargetField> for &'a NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the + operator.

impl<TargetField: PrimeField, BaseField: PrimeField> Add<TargetField> for NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the + operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> AddAssign<&'a NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> AddAssign<NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> AddAssign<TargetField> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> AllocVar<TargetField, BaseField> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: Clone + PrimeField, BaseField: Clone + PrimeField> Clone for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> CondSelectGadget<BaseField> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: Debug + PrimeField, BaseField: Debug + PrimeField> Debug for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> Eq for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> EqGadget<BaseField> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<'a, TargetField: PrimeField, BaseField: PrimeField> FieldOpsBounds<'a, TargetField, NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<'a, TargetField: PrimeField, BaseField: PrimeField> FieldOpsBounds<'a, TargetField, NonNativeFieldVar<TargetField, BaseField>> for &'a NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> FieldVar<TargetField, BaseField> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> From<&'_ NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldMulResultVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> From<AllocatedNonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> From<Boolean<BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> Hash for NonNativeFieldVar<TargetField, BaseField>[src]

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Mul<&'a NonNativeFieldVar<TargetField, BaseField>> for &'a NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the * operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Mul<&'a NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the * operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Mul<NonNativeFieldVar<TargetField, BaseField>> for &'a NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the * operator.

impl<TargetField: PrimeField, BaseField: PrimeField> Mul<NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the * operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Mul<TargetField> for &'a NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the * operator.

impl<TargetField: PrimeField, BaseField: PrimeField> Mul<TargetField> for NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the * operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> MulAssign<&'a NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> MulAssign<NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> MulAssign<TargetField> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> PartialEq<NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> R1CSVar<BaseField> for NonNativeFieldVar<TargetField, BaseField>[src]

type Value = TargetField

The type of the “native” value that Self represents in the constraint system. Read more

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Sub<&'a NonNativeFieldVar<TargetField, BaseField>> for &'a NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the - operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Sub<&'a NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the - operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Sub<NonNativeFieldVar<TargetField, BaseField>> for &'a NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the - operator.

impl<TargetField: PrimeField, BaseField: PrimeField> Sub<NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the - operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> Sub<TargetField> for &'a NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the - operator.

impl<TargetField: PrimeField, BaseField: PrimeField> Sub<TargetField> for NonNativeFieldVar<TargetField, BaseField>[src]

type Output = NonNativeFieldVar<TargetField, BaseField>

The resulting type after applying the - operator.

impl<'a, TargetField: PrimeField, BaseField: PrimeField> SubAssign<&'a NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> SubAssign<NonNativeFieldVar<TargetField, BaseField>> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> SubAssign<TargetField> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> ThreeBitCondNegLookupGadget<BaseField> for NonNativeFieldVar<TargetField, BaseField>[src]

type TableConstant = TargetField

The type of values being looked up.

impl<TargetField: PrimeField, BaseField: PrimeField> ToBitsGadget<BaseField> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> ToBytesGadget<BaseField> for NonNativeFieldVar<TargetField, BaseField>[src]

fn to_bytes(&self) -> R1CSResult<Vec<UInt8<BaseField>>>[src]

Outputs the unique byte decomposition of self in little-endian form.

impl<TargetField: PrimeField, BaseField: PrimeField> ToConstraintFieldGadget<BaseField> for NonNativeFieldVar<TargetField, BaseField>[src]

impl<TargetField: PrimeField, BaseField: PrimeField> TwoBitLookupGadget<BaseField> for NonNativeFieldVar<TargetField, BaseField>[src]

Uses two bits to perform a lookup into a table b is little-endian: b[0] is LSB.

type TableConstant = TargetField

The type of values being looked up.

Auto Trait Implementations

impl<TargetField, BaseField> !Send for NonNativeFieldVar<TargetField, BaseField>

impl<TargetField, BaseField> !Sync for NonNativeFieldVar<TargetField, BaseField>

impl<TargetField, BaseField> Unpin for NonNativeFieldVar<TargetField, BaseField> where
    BaseField: Unpin,
    TargetField: Unpin

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> From<T> for T[src]

impl<T> Instrument 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, 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<V, T> VZip<V> for T where
    V: MultiLane<T>,