Enum ScalarMulState
pub enum ScalarMulState {
Show 19 variants
Idle,
TableLaunch,
TableNiels,
TableStore,
TableBaseIssue,
TableBaseCapture,
TableBaseLoad,
TableAddLaunch,
TableAdd,
TableNextNiels,
RecodeWait,
DigitDouble,
DigitCapture,
SelectIssue,
SelectCapture,
SelectLoad,
AddLaunch,
DigitAdd,
Done,
}Expand description
Table-generation, recoding, fixed scan, point-operation, and completion states.
Variants§
Idle
Waiting for a scalar-multiplication request.
TableLaunch
Launch conversion of the next generated multiple to Niels form.
TableNiels
Wait for the Niels conversion result.
TableStore
Store forty words of the current Niels table entry.
TableBaseIssue
Issue a BRAM read of the previous multiple used to build the next entry.
TableBaseCapture
Capture the synchronous BRAM result.
TableBaseLoad
Load one captured Niels word into the point controller.
TableAddLaunch
Launch addition of P to form the next positive multiple.
TableAdd
Wait for table-generation point addition.
TableNextNiels
Convert the newly generated multiple to Niels form.
RecodeWait
Wait until all 64 signed digits have been written.
DigitDouble
Wait for one of the four doublings between radix-16 digits.
DigitCapture
Capture the completed doubling and decide whether more are required.
SelectIssue
Issue the same word address to all eight magnitude banks.
SelectCapture
Capture all eight candidate words and select the requested magnitude.
SelectLoad
Load one selected Niels word into the point controller.
AddLaunch
Launch fixed-schedule mixed addition for the current signed digit.
DigitAdd
Wait for the digit addition and advance to the next digit.
Done
Present the completed scalar-multiplication result.
Trait Implementations§
§impl Clone for ScalarMulState
impl Clone for ScalarMulState
§fn clone(&self) -> ScalarMulState
fn clone(&self) -> ScalarMulState
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for ScalarMulState
impl Debug for ScalarMulState
§impl Default for ScalarMulState
impl Default for ScalarMulState
§fn default() -> ScalarMulState
fn default() -> ScalarMulState
§impl Digital for ScalarMulState
impl Digital for ScalarMulState
§const BITS: usize
const BITS: usize
§fn static_kind() -> Kind
fn static_kind() -> Kind
§fn discriminant(self) -> TypedBits
fn discriminant(self) -> TypedBits
§fn variant_kind(self) -> Kind
fn variant_kind(self) -> Kind
§fn dont_care() -> ScalarMulState
fn dont_care() -> ScalarMulState
§fn typed_bits(self) -> TypedBits
fn typed_bits(self) -> TypedBits
§fn binary_string(self) -> String
fn binary_string(self) -> String
§impl PartialEq for ScalarMulState
impl PartialEq for ScalarMulState
impl Copy for ScalarMulState
impl StructuralPartialEq for ScalarMulState
Auto Trait Implementations§
impl Freeze for ScalarMulState
impl RefUnwindSafe for ScalarMulState
impl Send for ScalarMulState
impl Sync for ScalarMulState
impl Unpin for ScalarMulState
impl UnsafeUnpin for ScalarMulState
impl UnwindSafe for ScalarMulState
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
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,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
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,
OwoColorize::bg] or
a color-specific method, such as [OwoColorize::on_yellow], Read more