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 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.
pub fn kary_nand<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,
pub fn enforce_smaller_or_equal_than_le<F, CS>(
cs: CS,
bits: &[Boolean],
element: impl AsRef<[u64]>
) -> Result<Vec<Boolean, Global>, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field, [src]
cs: CS,
bits: &[Boolean],
element: impl AsRef<[u64]>
) -> Result<Vec<Boolean, Global>, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
pub fn enforce_smaller_or_equal_than_be<F, CS>(
cs: CS,
bits: &[Boolean],
element: impl AsRef<[u64]>
) -> Result<Vec<Boolean, Global>, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field, [src]
cs: CS,
bits: &[Boolean],
element: impl AsRef<[u64]>
) -> Result<Vec<Boolean, Global>, SynthesisError> where
CS: ConstraintSystem<F>,
F: Field,
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) -> bool1.0.0[src]
impl SignExtend for Boolean[src]
impl<F> ToBitsBEGadget<F> for Boolean where
F: Field, [src]
F: Field,
pub fn to_bits_be<CS>(&self, CS) -> Result<Vec<Boolean, Global>, SynthesisError> where
CS: ConstraintSystem<F>, [src]
CS: ConstraintSystem<F>,
pub fn to_bits_be_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> ToBitsLEGadget<F> for Boolean where
F: Field, [src]
F: Field,
pub fn to_bits_le<CS>(&self, CS) -> Result<Vec<Boolean, Global>, SynthesisError> where
CS: ConstraintSystem<F>, [src]
CS: ConstraintSystem<F>,
pub fn to_bits_le_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’.
impl<F> Xor<F, Boolean> for Boolean where
F: Field, [src]
F: Field,
pub fn xor<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>,
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>,