mirror of
https://github.com/uutils/coreutils
synced 2024-10-06 16:09:08 +00:00
Merge pull request #1557 from nbraud/factor/issue_1556
factor::miller_rabin: Fix bug #1556
This commit is contained in:
commit
9de82d92b0
|
@ -64,7 +64,7 @@ pub(crate) fn test<A: Arithmetic>(m: A) -> Result {
|
|||
}
|
||||
|
||||
if x == one || x == minus_one {
|
||||
break;
|
||||
continue;
|
||||
}
|
||||
|
||||
loop {
|
||||
|
@ -108,4 +108,23 @@ mod tests {
|
|||
}
|
||||
assert!(is_prime(NEXT_PRIME));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn issue_1556() {
|
||||
// 10 425 511 = 2441 × 4271
|
||||
assert!(!is_prime(10_425_511));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn small_composites() {
|
||||
use crate::table::P_INVS_U64;
|
||||
|
||||
for i in 0..P_INVS_U64.len() {
|
||||
let (p, _, _) = P_INVS_U64[i];
|
||||
for (q, _, _) in &P_INVS_U64[0..i] {
|
||||
let n = p * q;
|
||||
assert!(!is_prime(n), "{} = {} × {} reported prime", n, p, q);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue