Enum snarkvm_wasm::traits::utilities::boolean::Boolean [−][src]
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
impl Boolean
[src]
pub fn get_value(&self) -> Option<bool>
[src]
pub fn lc<F>(&self, one: Variable, coeff: F) -> LinearCombination<F> where
F: Field,
[src]
F: Field,
pub fn constant_u8_vec<F, CS>(
cs: &mut CS,
values: &[u8]
) -> Vec<Boolean, Global> where
CS: ConstraintSystem<F>,
F: Field,
[src]
cs: &mut CS,
values: &[u8]
) -> Vec<Boolean, Global> where
CS: ConstraintSystem<F>,
F: Field,
Construct a boolean vector from a vector of u8
pub fn constant(b: bool) -> Boolean
[src]
Construct a boolean from a known constant.
pub fn not(&self) -> Boolean
[src]
Return a negated interpretation of this boolean.
pub fn xor<F, CS>(
cs: CS,
a: &'a Boolean,
b: &'a Boolean
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
[src]
cs: CS,
a: &'a Boolean,
b: &'a Boolean
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
Perform XOR over two boolean operands.
pub fn or<F, CS>(
cs: CS,
a: &'a Boolean,
b: &'a Boolean
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
[src]
cs: CS,
a: &'a Boolean,
b: &'a Boolean
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
Perform OR over two boolean operands.
pub fn and<F, CS>(
cs: CS,
a: &'a Boolean,
b: &'a Boolean
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
[src]
cs: CS,
a: &'a Boolean,
b: &'a Boolean
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
Perform AND over two boolean operands.
pub fn kary_and<F, CS>(
cs: CS,
bits: &[Boolean]
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
[src]
cs: CS,
bits: &[Boolean]
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
Perform AND over all the given boolean operands.
pub fn enforce_nand<F, CS>(
cs: CS,
bits: &[Boolean]
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
[src]
cs: CS,
bits: &[Boolean]
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
Asserts that at least one operand is false.
pub fn enforce_in_field<F, CS, NativeF>(
cs: CS,
bits: &[Boolean]
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
NativeF: PrimeField,
[src]
cs: CS,
bits: &[Boolean]
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
NativeF: PrimeField,
Asserts that this bit_gadget representation is “in the field” when interpreted in big endian.
Trait Implementations
impl<F> AllocGadget<bool, F> for Boolean where
F: Field,
[src]
F: Field,
pub fn alloc<Fn, T, CS>(
cs: CS,
value_gen: Fn
) -> Result<Boolean, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<bool>,
[src]
cs: CS,
value_gen: Fn
) -> Result<Boolean, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<bool>,
pub fn alloc_input<Fn, T, CS>(
cs: CS,
value_gen: Fn
) -> Result<Boolean, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<bool>,
[src]
cs: CS,
value_gen: Fn
) -> Result<Boolean, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<bool>,
pub fn alloc_constant<Fn, T, CS>(
_cs: CS,
_f: Fn
) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
[src]
_cs: CS,
_f: Fn
) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
pub fn alloc_checked<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
[src]
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
pub fn alloc_input_checked<Fn, T, CS>(
cs: CS,
f: Fn
) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
[src]
cs: CS,
f: Fn
) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
impl Clone for Boolean
[src]
impl<F> CondSelectGadget<F> for Boolean where
F: PrimeField,
[src]
F: PrimeField,
pub fn conditionally_select<CS>(
cs: CS,
cond: &Boolean,
first: &Boolean,
second: &Boolean
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
[src]
cs: CS,
cond: &Boolean,
first: &Boolean,
second: &Boolean
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
pub fn cost() -> usize
[src]
impl<F> ConditionalEqGadget<F> for Boolean where
F: Field,
[src]
F: Field,
pub fn conditional_enforce_equal<CS>(
&self,
cs: CS,
other: &Boolean,
condition: &Boolean
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
[src]
&self,
cs: CS,
other: &Boolean,
condition: &Boolean
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
pub fn cost() -> usize
[src]
impl Copy for Boolean
[src]
impl Debug for Boolean
[src]
impl Eq for Boolean
[src]
impl<F> EqGadget<F> for Boolean where
F: Field,
[src]
F: Field,
pub fn enforce_equal<CS>(
&self,
cs: CS,
other: &Self
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
[src]
&self,
cs: CS,
other: &Self
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
pub fn cost() -> usize
[src]
impl<F> EvaluateEqGadget<F> for Boolean where
F: PrimeField,
[src]
F: PrimeField,
a == b = !(a XOR b)
pub fn evaluate_equal<CS>(
&self,
cs: CS,
other: &Boolean
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
[src]
&self,
cs: CS,
other: &Boolean
) -> Result<Boolean, SynthesisError> where
CS: ConstraintSystem<F>,
impl From<AllocatedBit> for Boolean
[src]
pub fn from(b: AllocatedBit) -> Boolean
[src]
impl<'a, F> FullAdder<'a, F> for Boolean where
F: Field,
[src]
F: Field,
pub fn add<CS>(
cs: CS,
a: &'a Boolean,
b: &'a Boolean,
carry: &'a Boolean
) -> Result<(Boolean, Boolean), SynthesisError> where
CS: ConstraintSystem<F>,
[src]
cs: CS,
a: &'a Boolean,
b: &'a Boolean,
carry: &'a Boolean
) -> Result<(Boolean, Boolean), SynthesisError> where
CS: ConstraintSystem<F>,
impl PartialEq<Boolean> for Boolean
[src]
pub fn eq(&self, other: &Boolean) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl SignExtend for Boolean
[src]
impl<F> ToBitsGadget<F> for Boolean where
F: Field,
[src]
F: Field,
pub fn to_bits<CS>(&self, CS) -> Result<Vec<Boolean, Global>, SynthesisError> where
CS: ConstraintSystem<F>,
[src]
CS: ConstraintSystem<F>,
pub fn to_bits_strict<CS>(
&self,
CS
) -> Result<Vec<Boolean, Global>, SynthesisError> where
CS: ConstraintSystem<F>,
[src]
&self,
CS
) -> Result<Vec<Boolean, Global>, SynthesisError> where
CS: ConstraintSystem<F>,
impl<F> ToBytesGadget<F> for Boolean where
F: Field,
[src]
F: Field,
pub fn to_bytes<CS>(
&self,
_cs: CS
) -> Result<Vec<UInt8, Global>, SynthesisError> where
CS: ConstraintSystem<F>,
[src]
&self,
_cs: CS
) -> Result<Vec<UInt8, Global>, SynthesisError> where
CS: ConstraintSystem<F>,
pub fn to_bytes_strict<CS>(
&self,
cs: CS
) -> Result<Vec<UInt8, Global>, SynthesisError> where
CS: ConstraintSystem<F>,
[src]
&self,
cs: CS
) -> Result<Vec<UInt8, Global>, SynthesisError> where
CS: ConstraintSystem<F>,
Additionally checks if the produced list of booleans is ‘valid’.
Auto Trait Implementations
impl RefUnwindSafe for Boolean
impl Send for Boolean
impl Sync for Boolean
impl Unpin for Boolean
impl UnwindSafe for Boolean
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<F, T> ConditionalOrEqualsGadget<F> for T where
T: ConditionalEqGadget<F> + CondSelectGadget<F>,
F: Field,
[src]
T: ConditionalEqGadget<F> + CondSelectGadget<F>,
F: Field,
pub fn conditional_enforce_equal_or<CS>(
cs: CS,
cond: &Boolean,
var: &T,
first: &T,
second: &T,
should_enforce: &Boolean
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
[src]
cs: CS,
cond: &Boolean,
var: &T,
first: &T,
second: &T,
should_enforce: &Boolean
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
pub fn cost() -> usize
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<F, T> OrEqualsGadget<F> for T where
T: ConditionalOrEqualsGadget<F>,
F: Field,
[src]
T: ConditionalOrEqualsGadget<F>,
F: Field,
pub fn enforce_equal_or<CS>(
cs: CS,
cond: &Boolean,
var: &T,
first: &T,
second: &T
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
[src]
cs: CS,
cond: &Boolean,
var: &T,
first: &T,
second: &T
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
pub fn cost() -> usize
[src]
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,