pub struct MulUU64 {
pub xin: Col<B64>,
pub yin: Col<B64>,
pub out_high: Col<B64>,
pub out_low: Col<B64>,
pub out_high_bits: [Col<B1>; 64],
pub out_low_bits: [Col<B1>; 64],
/* private fields */
}
Fields§
§xin: Col<B64>
§yin: Col<B64>
§out_high: Col<B64>
§out_low: Col<B64>
§out_high_bits: [Col<B1>; 64]
§out_low_bits: [Col<B1>; 64]
Implementations§
Source§impl MulUU64
impl MulUU64
Sourcepub fn new(table: &mut TableBuilder<'_>) -> Self
pub fn new(table: &mut TableBuilder<'_>) -> Self
Constructor for u64
multiplication gadget that creates the columns for inputs.
You must call MulUU64::populate
to fill the witness data.
Sourcepub fn with_inputs(
table: &mut TableBuilder<'_>,
xin_bits: [Col<B1>; 64],
yin_bits: [Col<B1>; 64],
) -> Self
pub fn with_inputs( table: &mut TableBuilder<'_>, xin_bits: [Col<B1>; 64], yin_bits: [Col<B1>; 64], ) -> Self
Constructor for u64
multiplication gadget that uses the provided columns for inputs.
You must call MulUU64::populate_with_inputs
to fill the witness data.
pub fn populate_with_inputs<P>( &self, index: &mut TableWitnessSegment<'_, P>, x_vals: impl IntoIterator<Item = B64>, y_vals: impl IntoIterator<Item = B64>, ) -> Result<()>
pub fn populate<P>( &self, index: &mut TableWitnessSegment<'_, P>, x_vals: impl IntoIterator<Item = B64>, y_vals: impl IntoIterator<Item = B64>, ) -> Result<()>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MulUU64
impl RefUnwindSafe for MulUU64
impl Send for MulUU64
impl Sync for MulUU64
impl Unpin for MulUU64
impl UnwindSafe for MulUU64
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