Enum ParallelFieldMulState
pub enum ParallelFieldMulState {
Show 15 variants
Idle,
MultiplyProducts,
MultiplyCombine,
MultiplyScalePrepare,
MultiplyScale,
ReducePairs,
ReduceQuads,
ReduceEights,
ReduceFinal,
AddSubtract,
CarryQuads,
CarryLast,
CarryWrapScale,
CarryWrapFinalize,
Done,
}Expand description
Pipeline stages of ParallelFieldMulEngine.
Variants§
Idle
Waiting for a field request.
MultiplyProducts
Register all split 26-by-13 limb products.
MultiplyCombine
Combine low and high split products.
MultiplyScalePrepare
Prepare factor-2 and wrapped-term scaling.
MultiplyScale
Apply alternating-radix and factor-19 scaling.
ReducePairs
First pairwise level of each ten-term adder tree.
ReduceQuads
Second adder-tree level.
ReduceEights
Third adder-tree level.
ReduceFinal
Add the final two terms for each output limb.
AddSubtract
Perform limb-wise add or biased subtract instead of multiplication.
CarryQuads
Carry-reduce the first groups of four limbs.
CarryLast
Carry-reduce the remaining high limbs.
CarryWrapScale
Scale the bit-255 wrap carry by 19.
CarryWrapFinalize
Add the wrap carry to limb zero and restore low-limb bounds.
Done
Present the completed field result.
Trait Implementations§
§impl Clone for ParallelFieldMulState
impl Clone for ParallelFieldMulState
§fn clone(&self) -> ParallelFieldMulState
fn clone(&self) -> ParallelFieldMulState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for ParallelFieldMulState
impl Debug for ParallelFieldMulState
§impl Default for ParallelFieldMulState
impl Default for ParallelFieldMulState
§fn default() -> ParallelFieldMulState
fn default() -> ParallelFieldMulState
Returns the “default value” for a type. Read more
§impl Digital for ParallelFieldMulState
impl Digital for ParallelFieldMulState
§const BITS: usize
const BITS: usize
Associated constant that gives the total number of bits needed to represent the value.
§fn static_kind() -> Kind
fn static_kind() -> Kind
Returns the [Kind] (run time type descriptor) of the value as a static method
§fn discriminant(self) -> TypedBits
fn discriminant(self) -> TypedBits
Returns the discriminant of the value as a [TypedBits].
§fn variant_kind(self) -> Kind
fn variant_kind(self) -> Kind
Returns the [Kind] of the variant if the value is an enum with variants.
§fn dont_care() -> ParallelFieldMulState
fn dont_care() -> ParallelFieldMulState
Returns a “don’t care” value for the type.
§fn typed_bits(self) -> TypedBits
fn typed_bits(self) -> TypedBits
Returns the value as a [TypedBits], which includes both the bits and the kind.
§fn binary_string(self) -> String
fn binary_string(self) -> String
Returns the binary representation of the value as a string of ‘0’, ‘1’, and ‘X’.
§impl PartialEq for ParallelFieldMulState
impl PartialEq for ParallelFieldMulState
impl Copy for ParallelFieldMulState
impl StructuralPartialEq for ParallelFieldMulState
Auto Trait Implementations§
impl Freeze for ParallelFieldMulState
impl RefUnwindSafe for ParallelFieldMulState
impl Send for ParallelFieldMulState
impl Sync for ParallelFieldMulState
impl Unpin for ParallelFieldMulState
impl UnsafeUnpin for ParallelFieldMulState
impl UnwindSafe for ParallelFieldMulState
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Set the foreground color generically Read more
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Set the background color generically. Read more
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Change the background color to magenta
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Change the foreground color to the terminal default
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Change the background color to the terminal default
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Change the foreground color to bright black
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Change the background color to bright black
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Change the foreground color to bright red
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Change the background color to bright red
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Change the foreground color to bright green
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Change the background color to bright green
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Change the foreground color to bright yellow
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Change the background color to bright yellow
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Change the foreground color to bright blue
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Change the background color to bright blue
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Change the foreground color to bright magenta
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Change the background color to bright magenta
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Change the foreground color to bright purple
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Change the background color to bright purple
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Change the foreground color to bright cyan
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Change the background color to bright cyan
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Change the foreground color to bright white
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Change the background color to bright white
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Make the text blink (but fast!)
Hide the text
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Cross out the text
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
Set the foreground color at runtime. Only use if you do not know which color will be used at
compile-time. If the color is constant, use either [
OwoColorize::fg] or
a color-specific method, such as [OwoColorize::green], Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
Set the background color at runtime. Only use if you do not know what color to use at
compile-time. If the color is constant, use either [
OwoColorize::bg] or
a color-specific method, such as [OwoColorize::on_yellow], Read more§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
Set the foreground color to a specific RGB value.
§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
Set the background color to a specific RGB value.
§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
Sets the foreground color to an RGB value.
§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
Sets the background color to an RGB value.
§impl<I, P, O> SynchronousProbeExt<I, P, O> for I
impl<I, P, O> SynchronousProbeExt<I, P, O> for I
§fn synchronous_sample(self) -> SynchronousSample<I>where
I: Iterator<Item = TracedSample<(ClockReset, P), O>>,
P: Digital,
O: Digital,
fn synchronous_sample(self) -> SynchronousSample<I>where
I: Iterator<Item = TracedSample<(ClockReset, P), O>>,
P: Digital,
O: Digital,
Create a probe that samples values from the supplied stream
just before a positive edge of the clock
§impl<T> Traceable for Twhere
T: Digital,
impl<T> Traceable for Twhere
T: Digital,
§fn bin(&self) -> Box<[BitX]>
fn bin(&self) -> Box<[BitX]>
Get the binary representation of the stored value as a vector of [BitX]
§fn typed_bits(&self) -> TypedBits
fn typed_bits(&self) -> TypedBits
Get the [TypedBits] representation of the stored value