pub enum Boolean {
Is(AllocatedBit),
Not(AllocatedBit),
Constant(bool),
}Expand description
This is a boolean value which may be either a constant or
an interpretation of an AllocatedBit.
Variants§
Is(AllocatedBit)
Existential view of the boolean variable
Not(AllocatedBit)
Negated view of the boolean variable
Constant(bool)
Constant (not an allocated variable)
Implementations§
Source§impl Boolean
impl Boolean
pub fn is_constant(&self) -> bool
pub fn get_variable(&self) -> Option<&AllocatedBit>
pub fn enforce_equal<E, CS>(
cs: CS,
a: &Self,
b: &Self,
) -> Result<(), SynthesisError>where
E: Engine,
CS: ConstraintSystem<E>,
pub fn get_value(&self) -> Option<bool>
pub fn lc<E: Engine>(&self, one: Variable, coeff: E::Fr) -> LinearCombination<E>
Sourcepub fn xor<'a, E, CS>(
cs: CS,
a: &'a Self,
b: &'a Self,
) -> Result<Self, SynthesisError>where
E: Engine,
CS: ConstraintSystem<E>,
pub fn xor<'a, E, CS>(
cs: CS,
a: &'a Self,
b: &'a Self,
) -> Result<Self, SynthesisError>where
E: Engine,
CS: ConstraintSystem<E>,
Perform XOR over two boolean operands
Sourcepub fn and<'a, E, CS>(
cs: CS,
a: &'a Self,
b: &'a Self,
) -> Result<Self, SynthesisError>where
E: Engine,
CS: ConstraintSystem<E>,
pub fn and<'a, E, CS>(
cs: CS,
a: &'a Self,
b: &'a Self,
) -> Result<Self, SynthesisError>where
E: Engine,
CS: ConstraintSystem<E>,
Perform AND over two boolean operands
Sourcepub fn sha256_ch<'a, E, CS>(
cs: CS,
a: &'a Self,
b: &'a Self,
c: &'a Self,
) -> Result<Self, SynthesisError>where
E: Engine,
CS: ConstraintSystem<E>,
pub fn sha256_ch<'a, E, CS>(
cs: CS,
a: &'a Self,
b: &'a Self,
c: &'a Self,
) -> Result<Self, SynthesisError>where
E: Engine,
CS: ConstraintSystem<E>,
Computes (a and b) xor ((not a) and c)
Sourcepub fn sha256_maj<'a, E, CS>(
cs: CS,
a: &'a Self,
b: &'a Self,
c: &'a Self,
) -> Result<Self, SynthesisError>where
E: Engine,
CS: ConstraintSystem<E>,
pub fn sha256_maj<'a, E, CS>(
cs: CS,
a: &'a Self,
b: &'a Self,
c: &'a Self,
) -> Result<Self, SynthesisError>where
E: Engine,
CS: ConstraintSystem<E>,
Computes (a and b) xor (a and c) xor (b and c)
Trait Implementations§
Source§impl From<AllocatedBit> for Boolean
impl From<AllocatedBit> for Boolean
Source§fn from(b: AllocatedBit) -> Boolean
fn from(b: AllocatedBit) -> Boolean
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for Boolean
impl RefUnwindSafe for Boolean
impl Send for Boolean
impl Sync for Boolean
impl Unpin for Boolean
impl UnwindSafe for Boolean
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