alloy-rs / alloy-rs/ruint

`modular`: a^b)^c = a^(b * c). Which requires carmichael fn.

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

Beschreibung

*On 2022-06-03 @recmo wrote in [`2f6a5d6`](https://github.com/recmo/uint/commit/2f6a5d6b21bed46723e8815a63a1724187aa59b1) “Merge pull request #103 from recmo/mulmod”:*

a^b)^c = a^(b * c). Which requires carmichael fn.

```rust
// TODO: Increase cases when perf is better.
let mut config = Config::default();
config.cases = min(config.cases, if BITS > 500 { 3 } else { 10 });
proptest!(config, |(a: U, b: U, c: U, m: U)| {
// TODO: a^(b+c) = a^b * a^c. Which requires carmichael fn.
// TODO: (a^b)^c = a^(b * c). Which requires carmichael fn.
assert_eq!(a.mul_mod(b, m).pow_mod(c, m), a.pow_mod(c, m).mul_mod(b.pow_mod(c, m), m));
});
});
}
}

```
*From [`src/modular.rs:182`](https://github.com/recmo/uint/blob/2f6a5d6b21bed46723e8815a63a1724187aa59b1/src/modular.rs#L182)*

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.