Fermat numbers: Difference between revisions

m
Rust - reformatted with rustfmt
m (Performance improvement)
m (Rust - reformatted with rustfmt)
Line 1,760:
use rug::Integer;
 
fn fermat(n : u32) -> Integer {
Integer::from(Integer::u_pow_u(2, 2u32.pow(n))) + 1
}
 
fn g(x : Integer, n : &Integer) -> Integer {
(Integer::from(&x * &x) + 1) % n
}
 
fn pollard_rho(n : &Integer) -> Integer {
use rug::Assign;
 
Line 1,799:
}
 
fn get_prime_factors(n : &Integer) -> Vec<Integer> {
use rug::integer::IsPrime;
let mut factors = Vec::new();
Line 1,814:
}
factors.push(Integer::from(&f));
m = m / f;
}
factors
1,777

edits