Sieve of Pritchard: Difference between revisions

m
(Undo revision 329716 by Wherrera (talk))
Tag: Undo
Line 185:
 
=={{header|Julia}}==
Added add/remove statistics. "Removed" figure is a combination of composites and primes under sqrt of limit. Getting abouta >20x speedup from using a BitArray instead of a Set.
a 40% speedup from using a BitArray instead of a Set.
<syntaxhighlight lang="julia">""" Rosetta Code task rosettacode.org/wiki/Sieve_of_Pritchard """
 
Line 203 ⟶ 202:
# the last partial wheel (if present)
if steplength < limit
for w in [i for i in eachindex1:length(members) if members[i]]
n =if members[w + steplength]
while n <= nlimitw + steplength
members[while n] <= truenlimit
ac + members[n] = 1true
n ac += steplength1
n += steplength
end
end
end
Line 214 ⟶ 215:
end
np = 5
formcopy w= in [i for i in eachindexcopy(members) if members[i]]
np == 5 &&for w > prime &&in 1:length(np = wmembers)
n = prime *if mcopy[w]
n np == 5 && w > nlimitprime && break(np = w)
rc + n = 1prime * w
members[ n] => nlimit && falsebreak
rc += 1
members[n] = false
end
end
np < prime && break
4,105

edits