Optimize marking of known composites.
This commit is contained in:
@@ -30,11 +30,14 @@ pub fn work_segment(known_primes:&Vec<u64>, start:usize, end:usize) -> Vec<u64>
|
|||||||
|
|
||||||
for p in known_primes {
|
for p in known_primes {
|
||||||
let prime = *p as usize;
|
let prime = *p as usize;
|
||||||
let mut mult = prime * prime;
|
let modu = start % prime;
|
||||||
|
let mut mult = if modu == 0 {
|
||||||
|
start
|
||||||
|
} else {
|
||||||
|
start + prime - modu
|
||||||
|
};
|
||||||
while mult < end {
|
while mult < end {
|
||||||
if mult > start {
|
sieve[mult - start] = false;
|
||||||
sieve[mult - start] = false;
|
|
||||||
}
|
|
||||||
mult += prime;
|
mult += prime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user