pub trait ToBitsGadget<F: Field> {
// Required method
fn to_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError>;
// Provided methods
fn to_non_unique_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError> { ... }
fn to_bits_be(&self) -> Result<Vec<Boolean<F>>, SynthesisError> { ... }
fn to_non_unique_bits_be(&self) -> Result<Vec<Boolean<F>>, SynthesisError> { ... }
}
Expand description
Specifies constraints for conversion to a little-endian bit representation
of self
.
Required Methods§
Sourcefn to_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
fn to_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
Outputs the canonical little-endian bit-wise representation of self
.
This is the correct default for 99% of use cases.
Provided Methods§
Sourcefn to_non_unique_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
fn to_non_unique_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
Outputs a possibly non-unique little-endian bit-wise representation of
self
.
If you’re not absolutely certain that your usecase can get away with a
non-canonical representation, please use self.to_bits()
instead.
Sourcefn to_bits_be(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
fn to_bits_be(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
Outputs the canonical big-endian bit-wise representation of self
.
Sourcefn to_non_unique_bits_be(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
fn to_non_unique_bits_be(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
Outputs a possibly non-unique big-endian bit-wise representation of
self
.
Implementations on Foreign Types§
Source§impl<F: Field> ToBitsGadget<F> for [Boolean<F>]
impl<F: Field> ToBitsGadget<F> for [Boolean<F>]
Source§fn to_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
fn to_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
Outputs self
.
Source§impl<F: Field, T> ToBitsGadget<F> for Vec<T>where
[T]: ToBitsGadget<F>,
impl<F: Field, T> ToBitsGadget<F> for Vec<T>where
[T]: ToBitsGadget<F>,
fn to_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
fn to_non_unique_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
Source§impl<const N: usize, T: PrimUInt, F: Field> ToBitsGadget<F> for [UInt<N, T, F>]
impl<const N: usize, T: PrimUInt, F: Field> ToBitsGadget<F> for [UInt<N, T, F>]
Source§fn to_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
fn to_bits_le(&self) -> Result<Vec<Boolean<F>>, SynthesisError>
Interprets self
as an integer, and outputs the little-endian
bit-wise decomposition of that integer.