pub struct MulUU32 {
pub xin: Col<B32>,
pub yin: Col<B32>,
pub out_high: Col<B32>,
pub out_low: Col<B32>,
pub out_high_bits: [Col<B1>; 32],
pub out_low_bits: [Col<B1>; 32],
/* private fields */
}
Fields§
§xin: Col<B32>
§yin: Col<B32>
§out_high: Col<B32>
§out_low: Col<B32>
§out_high_bits: [Col<B1>; 32]
§out_low_bits: [Col<B1>; 32]
Implementations§
Source§impl MulUU32
impl MulUU32
Sourcepub fn new(table: &mut TableBuilder<'_>) -> Self
pub fn new(table: &mut TableBuilder<'_>) -> Self
Constructor for u32
multiplication gadget that creates the columns for inputs.
You must call MulUU32::populate
to fill the witness data.
Sourcepub fn with_inputs(
table: &mut TableBuilder<'_>,
xin_bits: [Col<B1>; 32],
yin_bits: [Col<B1>; 32],
) -> Self
pub fn with_inputs( table: &mut TableBuilder<'_>, xin_bits: [Col<B1>; 32], yin_bits: [Col<B1>; 32], ) -> Self
Constructor for u32
multiplication gadget that uses the provided columns for inputs.
You must call MulUU32::populate_with_inputs
to fill the witness data.
pub fn populate_with_inputs<P>( &self, index: &mut TableWitnessSegment<'_, P>, x_vals: impl IntoIterator<Item = B32>, y_vals: impl IntoIterator<Item = B32>, ) -> Result<()>
pub fn populate<P>( &self, index: &mut TableWitnessSegment<'_, P>, x_vals: impl IntoIterator<Item = B32>, y_vals: impl IntoIterator<Item = B32>, ) -> Result<()>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MulUU32
impl RefUnwindSafe for MulUU32
impl Send for MulUU32
impl Sync for MulUU32
impl Unpin for MulUU32
impl UnwindSafe for MulUU32
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more