Merge pull request #1557 from nbraud/factor/issue_1556

factor::miller_rabin: Fix bug #1556
This commit is contained in:
Alex Lyon 2020-06-24 04:53:32 -07:00 committed by GitHub
commit 9de82d92b0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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);
}
}
}
}