pub struct U32AddStacked<const V: usize = 32> {
pub xin: Col<B1, V>,
pub yin: Col<B1, V>,
pub zout: Col<B1, V>,
/* private fields */
}
Expand description
A gadget for performing SIMD 32-bit integer addition on vertically-packed bit columns.
This gadget has input columns xin
and yin
for the two 32-bit adjacent integers to be added,
and an output column zout
, and it constrains that xin + yin = zout
as integers. Only
A gadget for performing SIMD 32-bit integer addition on vertically-packed bit columns.
This gadget has input columns xin
and yin
for the two 32-bit adjacent integers to be added,
and an output column zout
, and it constrains that xin + yin = zout
as integers. Only
supports unchecked addition, so it does not handle overflow.
The generic parameter V
represents the number of vertically-packed bits (the vertical stacking
factor of the bit columns). The default value is 32, which corresponds to the standard 32-bit
integer size. When using a different value for V
, ensure it is a power of two and at least 32.
Fields§
§xin: Col<B1, V>
§yin: Col<B1, V>
§zout: Col<B1, V>
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<const V: usize> Freeze for U32AddStacked<V>
impl<const V: usize> RefUnwindSafe for U32AddStacked<V>
impl<const V: usize> Send for U32AddStacked<V>
impl<const V: usize> Sync for U32AddStacked<V>
impl<const V: usize> Unpin for U32AddStacked<V>
impl<const V: usize> UnwindSafe for U32AddStacked<V>
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
§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>
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>
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