[][src]Struct sapling_crypto_ce::circuit::boolean::AllocatedBit

pub struct AllocatedBit { /* fields omitted */ }

Represents a variable in the constraint system which is guaranteed to be either zero or one.

Methods

impl AllocatedBit[src]

pub fn get_value(&self) -> Option<bool>[src]

pub fn get_variable(&self) -> Variable[src]

pub fn alloc_conditionally<E, CS>(
    cs: CS,
    value: Option<bool>,
    must_be_false: &AllocatedBit
) -> Result<Self, SynthesisError> where
    E: Engine,
    CS: ConstraintSystem<E>, 
[src]

Allocate a variable in the constraint system which can only be a boolean value. Further, constrain that the boolean is false unless the condition is false.

pub fn alloc<E, CS>(cs: CS, value: Option<bool>) -> Result<Self, SynthesisError> where
    E: Engine,
    CS: ConstraintSystem<E>, 
[src]

Allocate a variable in the constraint system which can only be a boolean value.

pub fn xor<E, CS>(cs: CS, a: &Self, b: &Self) -> Result<Self, SynthesisError> where
    E: Engine,
    CS: ConstraintSystem<E>, 
[src]

Performs an XOR operation over the two operands, returning an AllocatedBit.

pub fn and<E, CS>(cs: CS, a: &Self, b: &Self) -> Result<Self, SynthesisError> where
    E: Engine,
    CS: ConstraintSystem<E>, 
[src]

Performs an AND operation over the two operands, returning an AllocatedBit.

pub fn and_not<E, CS>(
    cs: CS,
    a: &Self,
    b: &Self
) -> Result<Self, SynthesisError> where
    E: Engine,
    CS: ConstraintSystem<E>, 
[src]

Calculates a AND (NOT b).

pub fn nor<E, CS>(cs: CS, a: &Self, b: &Self) -> Result<Self, SynthesisError> where
    E: Engine,
    CS: ConstraintSystem<E>, 
[src]

Calculates (NOT a) AND (NOT b).

Trait Implementations

impl From<AllocatedBit> for Boolean[src]

impl Clone for AllocatedBit[src]

Auto Trait Implementations

Blanket Implementations

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

impl<T> From<T> for 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<T> Borrow<T> for T where
    T: ?Sized
[src]

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

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

impl<T> Same<T> for T

type Output = T

Should always be Self