alloy-rs / alloy-rs/ruint

`base_convert`: keep track of non-zero limbs and mul the minimum.

Offen
#46 0 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @recmo Auf GitHub ansehen
optimize tracker
Vorherrschende Sprache
Rust
Sterne
225
Forks
70
Ø Merge
16 Std. 54 Min.
Gemergte PRs (30 T.)
8

Beschreibung

*On 2022-05-28 @recmo wrote in [`b0b5d54`](https://github.com/recmo/uint/commit/b0b5d5401643d19747653934e838604cd59bcd81) “Mod names”:*

keep track of non-zero limbs and mul the minimum.

```rust
for digit in digits {
if digit >= base {
return Err(BaseConvertError::InvalidDigit(digit, base));
}
// Multiply by base.
// OPT: keep track of non-zero limbs and mul the minimum.
let mut carry: u128 = u128::from(digit);
#[allow(clippy::cast_possible_truncation)]
for limb in result.limbs.iter_mut() {
carry += u128::from(*limb) * u128::from(base);
*limb = carry as u64;

```
*From [`src/base_convert.rs:93`](https://github.com/recmo/uint/blob/b0b5d5401643d19747653934e838604cd59bcd81/src/base_convert.rs#L93)*

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.