Legendre prime counting function: Difference between revisions
Content added Content deleted
(→Iterative, partial sieving: Changed two variable names to align with V of which it is a translation.) |
(→Iterative, partial sieving: Changed 2 variable names to align with V of which it is a translation.) |
||
Line 3,314: | Line 3,314: | ||
var nri = 0 |
var nri = 0 |
||
for (ori in 0...rilmt) { |
for (ori in 0...rilmt) { |
||
var |
var r = roughs[ori] |
||
var |
var rci = r >> 1 |
||
if ((cullbuf[ |
if ((cullbuf[rci >> 3] & masks[rci & 7]) != 0) continue |
||
var d = |
var d = r * bp |
||
var t = (d <= rtlmt) ? larges[smalls[d >> 1] - nbps] : |
var t = (d <= rtlmt) ? larges[smalls[d >> 1] - nbps] : |
||
smalls[half.call(Int.quo(n, d))] |
smalls[half.call(Int.quo(n, d))] |
||
larges[nri] = larges[ori] - t + nbps |
larges[nri] = larges[ori] - t + nbps |
||
roughs[nri] = |
roughs[nri] = r |
||
nri = nri + 1 |
nri = nri + 1 |
||
} |
} |