Sieve of Pritchard: Difference between revisions

Undo revision 329717 by Wherrera (talk)
m (→‎{{header|Julia}}: change for loop)
(Undo revision 329717 by Wherrera (talk))
Tag: Undo
Line 186:
=={{header|Julia}}==
With the add/remove statistics, the "Removed" figure is a combination of composites and primes under sqrt of limit. Getting about
a 30x40% speedup from using a BitArray instead of a Set and integer-range-only for loops.
<syntaxhighlight lang="julia">""" Rosetta Code task rosettacode.org/wiki/Sieve_of_Pritchard """
 
Line 203:
# the last partial wheel (if present)
if steplength < limit
for w in 1:limit*2[i for i in eachindex(members) if members[i]]
ifn = members[w] + steplength
while n <= w + steplengthnlimit
while members[n] <= nlimittrue
ac members[n] += true1
acn += 1steplength
n += steplength
end
end
end
Line 216 ⟶ 214:
end
np = 5
for w in 1:limit*2[i for i in eachindex(members) if members[i]]
ifnp == 5 && w > prime && (np = members[w])
npn == 5 && w > prime && (np =* w)
n => primenlimit *&& wbreak
rc += n > nlimit && break1
members[n] rc += 1false
members[n] = false
end
end
np < prime && break
4,108

edits