Enum ScalarState
pub enum ScalarState {
Idle,
ReduceLaunch,
ReduceWait,
MulAccLaunch,
MulAccWait,
MulDoubleLaunch,
MulDoubleWait,
MulFinalLaunch,
MulFinalWait,
CanonicalLaunch,
CanonicalWait,
Done,
}Expand description
High-level states of ScalarEngine.
Variants§
Idle
Waiting for a scalar request.
ReduceLaunch
Shift the next source bit into the partial reduction and launch modular reduction.
ReduceWait
Wait for the modular child and advance to the next source bit.
MulAccLaunch
Test the next multiplier bit and optionally launch an accumulation.
MulAccWait
Wait for modular accumulation.
MulDoubleLaunch
Launch doubling of the current multiplicand.
MulDoubleWait
Wait for doubling and advance the fixed 256-bit loop.
MulFinalLaunch
Launch addition of the final c operand.
MulFinalWait
Wait for the final modular addition.
CanonicalLaunch
Launch a zero-add operation to detect whether the input is at least l.
CanonicalWait
Wait for the canonicality comparison result.
Done
Present the completed scalar result.
Trait Implementations§
§impl Clone for ScalarState
impl Clone for ScalarState
§fn clone(&self) -> ScalarState
fn clone(&self) -> ScalarState
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 ScalarState
impl Debug for ScalarState
§impl Default for ScalarState
impl Default for ScalarState
§fn default() -> ScalarState
fn default() -> ScalarState
Returns the “default value” for a type. Read more
§impl Digital for ScalarState
impl Digital for ScalarState
§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() -> ScalarState
fn dont_care() -> ScalarState
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 ScalarState
impl PartialEq for ScalarState
impl Copy for ScalarState
impl StructuralPartialEq for ScalarState
Auto Trait Implementations§
impl Freeze for ScalarState
impl RefUnwindSafe for ScalarState
impl Send for ScalarState
impl Sync for ScalarState
impl Unpin for ScalarState
impl UnsafeUnpin for ScalarState
impl UnwindSafe for ScalarState
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