pub struct BitAndLookup {
pub table_id: TableId,
/* private fields */
}
Expand description
A gadget that computes the logical AND of two boolean columns using a lookup table.
This struct holds columns for an 8-bit AND operation where:
entries_ordered
is the fixed column containing all possible AND table entriesentries_sorted
is a committed column for sorted entrieslookup_producer
manages lookup multiplicities and constraints
Fields§
§table_id: TableId
The table ID
Implementations§
Source§impl BitAndLookup
impl BitAndLookup
Sourcepub fn new(
table: &mut TableBuilder<'_>,
chan: ChannelId,
permutation_chan: ChannelId,
n_multiplicity_bits: usize,
) -> Self
pub fn new( table: &mut TableBuilder<'_>, chan: ChannelId, permutation_chan: ChannelId, n_multiplicity_bits: usize, ) -> Self
Constructs a new AND lookup table.
§Arguments
table
- The table builder.chan
- The lookup channel.permutation_chan
- The channel for permutation checks.n_multiplicity_bits
- Number of bits for multiplicity.
Trait Implementations§
Source§impl TableFiller for BitAndLookup
Implements filling for the AND lookup table.
impl TableFiller for BitAndLookup
Implements filling for the AND lookup table.
Auto Trait Implementations§
impl Freeze for BitAndLookup
impl RefUnwindSafe for BitAndLookup
impl Send for BitAndLookup
impl Sync for BitAndLookup
impl Unpin for BitAndLookup
impl UnwindSafe for BitAndLookup
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