| line |
true |
false |
branch |
|
21
|
11 |
6311 |
if ( (startp > UVCONST( 100000000000000) && range < 40000) || |
|
|
0 |
11 |
if ( (startp > UVCONST( 100000000000000) && range < 40000) || |
|
|
0 |
6311 |
if ( (startp > UVCONST( 100000000000000) && range < 40000) || |
|
22
|
0 |
0 |
(startp > UVCONST( 1000000000000000) && range < 150000) || |
|
|
0 |
6311 |
(startp > UVCONST( 1000000000000000) && range < 150000) || |
|
23
|
0 |
0 |
(startp > UVCONST( 10000000000000000) && range < 600000) || |
|
|
0 |
6311 |
(startp > UVCONST( 10000000000000000) && range < 600000) || |
|
24
|
0 |
0 |
(startp > UVCONST( 100000000000000000) && range < 2500000) || |
|
|
0 |
6311 |
(startp > UVCONST( 100000000000000000) && range < 2500000) || |
|
25
|
0 |
0 |
(startp > UVCONST( 1000000000000000000) && range < 10000000) || |
|
|
0 |
6311 |
(startp > UVCONST( 1000000000000000000) && range < 10000000) || |
|
26
|
0 |
0 |
(startp > UVCONST(10000000000000000000) && range < 40000000) ) |
|
123
|
5252 |
643 |
if (to < from) |
|
125
|
0 |
5895 |
if (dst != src) |
|
127
|
3488 |
5895 |
while (from < to) { |
|
128
|
643 |
2845 |
size_t bytes = (2*from > to) ? to-from : from; |
|
138
|
6793 |
0 |
MPUassert( (mem != 0) && (endd >= startd), "sieve_prefill bad arguments"); |
|
|
0 |
6793 |
MPUassert( (mem != 0) && (endd >= startd), "sieve_prefill bad arguments"); |
|
140
|
1422 |
5371 |
if (startd != 0) { |
|
143
|
898 |
524 |
if (tailbytes > nbytes) tailbytes = nbytes; |
|
148
|
5895 |
898 |
if (nbytes > 0) { |
|
151
|
5371 |
524 |
if (startd == 0) mem[0] = 0x01; /* Correct first byte */ |
|
200
|
27102 |
4692527 |
if (startp == 0) { |
|
205
|
4684883 |
7644 |
if (p2 < startp) { |
|
221
|
4427081 |
2904438 |
if (w->offset >= bytes) { |
|
228
|
24561 |
329053 |
CROSS_INDEX( 0, 0,1,2,3,4,5,6,7, 0,0,0,0,0,0,0,1, 1); break; |
|
|
71443 |
328117 |
CROSS_INDEX( 0, 0,1,2,3,4,5,6,7, 0,0,0,0,0,0,0,1, 1); break; |
|
|
47877 |
327318 |
CROSS_INDEX( 0, 0,1,2,3,4,5,6,7, 0,0,0,0,0,0,0,1, 1); break; |
|
|
24538 |
327127 |
CROSS_INDEX( 0, 0,1,2,3,4,5,6,7, 0,0,0,0,0,0,0,1, 1); break; |
|
|
48017 |
326634 |
CROSS_INDEX( 0, 0,1,2,3,4,5,6,7, 0,0,0,0,0,0,0,1, 1); break; |
|
|
24640 |
326263 |
CROSS_INDEX( 0, 0,1,2,3,4,5,6,7, 0,0,0,0,0,0,0,1, 1); break; |
|
|
47366 |
325922 |
CROSS_INDEX( 0, 0,1,2,3,4,5,6,7, 0,0,0,0,0,0,0,1, 1); break; |
|
|
71007 |
325224 |
CROSS_INDEX( 0, 0,1,2,3,4,5,6,7, 0,0,0,0,0,0,0,1, 1); break; |
|
|
4552145 |
325224 |
CROSS_INDEX( 0, 0,1,2,3,4,5,6,7, 0,0,0,0,0,0,0,1, 1); break; |
|
229
|
24918 |
329682 |
CROSS_INDEX( 8, 1,5,4,0,7,3,2,6, 1,1,1,0,1,1,1,1, 7); break; |
|
|
71706 |
332593 |
CROSS_INDEX( 8, 1,5,4,0,7,3,2,6, 1,1,1,0,1,1,1,1, 7); break; |
|
|
48675 |
331741 |
CROSS_INDEX( 8, 1,5,4,0,7,3,2,6, 1,1,1,0,1,1,1,1, 7); break; |
|
|
24733 |
331597 |
CROSS_INDEX( 8, 1,5,4,0,7,3,2,6, 1,1,1,0,1,1,1,1, 7); break; |
|
|
48640 |
331448 |
CROSS_INDEX( 8, 1,5,4,0,7,3,2,6, 1,1,1,0,1,1,1,1, 7); break; |
|
|
24793 |
331156 |
CROSS_INDEX( 8, 1,5,4,0,7,3,2,6, 1,1,1,0,1,1,1,1, 7); break; |
|
|
48540 |
330661 |
CROSS_INDEX( 8, 1,5,4,0,7,3,2,6, 1,1,1,0,1,1,1,1, 7); break; |
|
|
72082 |
329920 |
CROSS_INDEX( 8, 1,5,4,0,7,3,2,6, 1,1,1,0,1,1,1,1, 7); break; |
|
|
4780152 |
329920 |
CROSS_INDEX( 8, 1,5,4,0,7,3,2,6, 1,1,1,0,1,1,1,1, 7); break; |
|
230
|
25021 |
329908 |
CROSS_INDEX(16, 2,4,0,6,1,7,3,5, 2,2,0,2,0,2,2,1, 11); break; |
|
|
72107 |
329211 |
CROSS_INDEX(16, 2,4,0,6,1,7,3,5, 2,2,0,2,0,2,2,1, 11); break; |
|
|
48535 |
332031 |
CROSS_INDEX(16, 2,4,0,6,1,7,3,5, 2,2,0,2,0,2,2,1, 11); break; |
|
|
24795 |
331635 |
CROSS_INDEX(16, 2,4,0,6,1,7,3,5, 2,2,0,2,0,2,2,1, 11); break; |
|
|
48663 |
330755 |
CROSS_INDEX(16, 2,4,0,6,1,7,3,5, 2,2,0,2,0,2,2,1, 11); break; |
|
|
24319 |
330626 |
CROSS_INDEX(16, 2,4,0,6,1,7,3,5, 2,2,0,2,0,2,2,1, 11); break; |
|
|
48537 |
330248 |
CROSS_INDEX(16, 2,4,0,6,1,7,3,5, 2,2,0,2,0,2,2,1, 11); break; |
|
|
71509 |
330009 |
CROSS_INDEX(16, 2,4,0,6,1,7,3,5, 2,2,0,2,0,2,2,1, 11); break; |
|
|
4583831 |
330009 |
CROSS_INDEX(16, 2,4,0,6,1,7,3,5, 2,2,0,2,0,2,2,1, 11); break; |
|
231
|
24769 |
328312 |
CROSS_INDEX(24, 3,0,6,5,2,1,7,4, 3,1,1,2,1,1,3,1, 13); break; |
|
|
71519 |
327443 |
CROSS_INDEX(24, 3,0,6,5,2,1,7,4, 3,1,1,2,1,1,3,1, 13); break; |
|
|
48181 |
327024 |
CROSS_INDEX(24, 3,0,6,5,2,1,7,4, 3,1,1,2,1,1,3,1, 13); break; |
|
|
24677 |
330191 |
CROSS_INDEX(24, 3,0,6,5,2,1,7,4, 3,1,1,2,1,1,3,1, 13); break; |
|
|
47935 |
329886 |
CROSS_INDEX(24, 3,0,6,5,2,1,7,4, 3,1,1,2,1,1,3,1, 13); break; |
|
|
24839 |
329620 |
CROSS_INDEX(24, 3,0,6,5,2,1,7,4, 3,1,1,2,1,1,3,1, 13); break; |
|
|
48074 |
329306 |
CROSS_INDEX(24, 3,0,6,5,2,1,7,4, 3,1,1,2,1,1,3,1, 13); break; |
|
|
72373 |
328636 |
CROSS_INDEX(24, 3,0,6,5,2,1,7,4, 3,1,1,2,1,1,3,1, 13); break; |
|
|
4460185 |
328636 |
CROSS_INDEX(24, 3,0,6,5,2,1,7,4, 3,1,1,2,1,1,3,1, 13); break; |
|
232
|
24942 |
330677 |
CROSS_INDEX(32, 4,7,1,2,5,6,0,3, 3,3,1,2,1,3,3,1, 17); break; |
|
|
72119 |
329770 |
CROSS_INDEX(32, 4,7,1,2,5,6,0,3, 3,3,1,2,1,3,3,1, 17); break; |
|
|
48873 |
329021 |
CROSS_INDEX(32, 4,7,1,2,5,6,0,3, 3,3,1,2,1,3,3,1, 17); break; |
|
|
24794 |
328549 |
CROSS_INDEX(32, 4,7,1,2,5,6,0,3, 3,3,1,2,1,3,3,1, 17); break; |
|
|
48613 |
333751 |
CROSS_INDEX(32, 4,7,1,2,5,6,0,3, 3,3,1,2,1,3,3,1, 17); break; |
|
|
24743 |
333572 |
CROSS_INDEX(32, 4,7,1,2,5,6,0,3, 3,3,1,2,1,3,3,1, 17); break; |
|
|
48981 |
332462 |
CROSS_INDEX(32, 4,7,1,2,5,6,0,3, 3,3,1,2,1,3,3,1, 17); break; |
|
|
72219 |
331129 |
CROSS_INDEX(32, 4,7,1,2,5,6,0,3, 3,3,1,2,1,3,3,1, 17); break; |
|
|
6217737 |
331129 |
CROSS_INDEX(32, 4,7,1,2,5,6,0,3, 3,3,1,2,1,3,3,1, 17); break; |
|
233
|
24358 |
325151 |
CROSS_INDEX(40, 5,3,7,1,6,0,4,2, 4,2,2,2,2,2,4,1, 19); break; |
|
|
70890 |
324400 |
CROSS_INDEX(40, 5,3,7,1,6,0,4,2, 4,2,2,2,2,2,4,1, 19); break; |
|
|
47788 |
323751 |
CROSS_INDEX(40, 5,3,7,1,6,0,4,2, 4,2,2,2,2,2,4,1, 19); break; |
|
|
24480 |
323200 |
CROSS_INDEX(40, 5,3,7,1,6,0,4,2, 4,2,2,2,2,2,4,1, 19); break; |
|
|
47631 |
322860 |
CROSS_INDEX(40, 5,3,7,1,6,0,4,2, 4,2,2,2,2,2,4,1, 19); break; |
|
|
24732 |
327281 |
CROSS_INDEX(40, 5,3,7,1,6,0,4,2, 4,2,2,2,2,2,4,1, 19); break; |
|
|
48204 |
326437 |
CROSS_INDEX(40, 5,3,7,1,6,0,4,2, 4,2,2,2,2,2,4,1, 19); break; |
|
|
70412 |
325420 |
CROSS_INDEX(40, 5,3,7,1,6,0,4,2, 4,2,2,2,2,2,4,1, 19); break; |
|
|
5292762 |
325420 |
CROSS_INDEX(40, 5,3,7,1,6,0,4,2, 4,2,2,2,2,2,4,1, 19); break; |
|
234
|
24836 |
332541 |
CROSS_INDEX(48, 6,2,3,7,0,4,5,1, 5,3,1,4,1,3,5,1, 23); break; |
|
|
72772 |
331337 |
CROSS_INDEX(48, 6,2,3,7,0,4,5,1, 5,3,1,4,1,3,5,1, 23); break; |
|
|
49038 |
330740 |
CROSS_INDEX(48, 6,2,3,7,0,4,5,1, 5,3,1,4,1,3,5,1, 23); break; |
|
|
24908 |
330515 |
CROSS_INDEX(48, 6,2,3,7,0,4,5,1, 5,3,1,4,1,3,5,1, 23); break; |
|
|
49589 |
329851 |
CROSS_INDEX(48, 6,2,3,7,0,4,5,1, 5,3,1,4,1,3,5,1, 23); break; |
|
|
24840 |
329567 |
CROSS_INDEX(48, 6,2,3,7,0,4,5,1, 5,3,1,4,1,3,5,1, 23); break; |
|
|
48705 |
333864 |
CROSS_INDEX(48, 6,2,3,7,0,4,5,1, 5,3,1,4,1,3,5,1, 23); break; |
|
|
72202 |
332798 |
CROSS_INDEX(48, 6,2,3,7,0,4,5,1, 5,3,1,4,1,3,5,1, 23); break; |
|
|
5654559 |
332798 |
CROSS_INDEX(48, 6,2,3,7,0,4,5,1, 5,3,1,4,1,3,5,1, 23); break; |
|
235
|
24633 |
330488 |
CROSS_INDEX(56, 7,6,5,4,3,2,1,0, 6,4,2,4,2,4,6,1, 29); break; |
|
|
72108 |
329419 |
CROSS_INDEX(56, 7,6,5,4,3,2,1,0, 6,4,2,4,2,4,6,1, 29); break; |
|
|
48431 |
328821 |
CROSS_INDEX(56, 7,6,5,4,3,2,1,0, 6,4,2,4,2,4,6,1, 29); break; |
|
|
24690 |
328526 |
CROSS_INDEX(56, 7,6,5,4,3,2,1,0, 6,4,2,4,2,4,6,1, 29); break; |
|
|
48317 |
327996 |
CROSS_INDEX(56, 7,6,5,4,3,2,1,0, 6,4,2,4,2,4,6,1, 29); break; |
|
|
24873 |
327746 |
CROSS_INDEX(56, 7,6,5,4,3,2,1,0, 6,4,2,4,2,4,6,1, 29); break; |
|
|
48979 |
327251 |
CROSS_INDEX(56, 7,6,5,4,3,2,1,0, 6,4,2,4,2,4,6,1, 29); break; |
|
|
72349 |
330732 |
CROSS_INDEX(56, 7,6,5,4,3,2,1,0, 6,4,2,4,2,4,6,1, 29); break; |
|
|
5103879 |
330732 |
CROSS_INDEX(56, 7,6,5,4,3,2,1,0, 6,4,2,4,2,4,6,1, 29); break; |
|
256
|
16826 |
195 |
for ( ; prime <= limit; prime = next_prime_in_sieve(mem,prime,end)) { |
|
264
|
6882 |
0 |
START_DO_FOR_EACH_SIEVE_PRIME(mem, 0, 0, endp-startp) { |
|
|
11 |
6871 |
START_DO_FOR_EACH_SIEVE_PRIME(mem, 0, 0, endp-startp) { |
|
|
6871 |
0 |
START_DO_FOR_EACH_SIEVE_PRIME(mem, 0, 0, endp-startp) { |
|
|
6882 |
594 |
START_DO_FOR_EACH_SIEVE_PRIME(mem, 0, 0, endp-startp) { |
|
|
605 |
11 |
START_DO_FOR_EACH_SIEVE_PRIME(mem, 0, 0, endp-startp) { |
|
265
|
2789 |
4082 |
if (!BPSW(startp + p)) /* If the candidate is not prime, */ |
|
272
|
69982 |
0 |
START_DO_FOR_EACH_SIEVE_PRIME(sieve, 0, start_base_prime, limit) { /* Sieve */ |
|
|
20 |
69962 |
START_DO_FOR_EACH_SIEVE_PRIME(sieve, 0, start_base_prime, limit) { /* Sieve */ |
|
|
69902 |
60 |
START_DO_FOR_EACH_SIEVE_PRIME(sieve, 0, start_base_prime, limit) { /* Sieve */ |
|
|
69982 |
3411 |
START_DO_FOR_EACH_SIEVE_PRIME(sieve, 0, start_base_prime, limit) { /* Sieve */ |
|
|
3431 |
20 |
START_DO_FOR_EACH_SIEVE_PRIME(sieve, 0, start_base_prime, limit) { /* Sieve */ |
|
281
|
0 |
0 |
UV startp = 30*startd, endp = (endd >= (UV_MAX/30)) ? UV_MAX-2 : 30*endd+29; |
|
283
|
0 |
0 |
MPUassert(mem != 0 && endd >= startd && endp >= startp && depth >= 13, |
|
|
0 |
0 |
MPUassert(mem != 0 && endd >= startd && endp >= startp && depth >= 13, |
|
|
0 |
0 |
MPUassert(mem != 0 && endd >= startd && endp >= startp && depth >= 13, |
|
|
0 |
0 |
MPUassert(mem != 0 && endd >= startd && endp >= startp && depth >= 13, |
|
286
|
0 |
0 |
if (limit > max_sieve_prime) limit = max_sieve_prime; |
|
287
|
0 |
0 |
if (limit > depth) limit = depth; |
|
298
|
163 |
0 |
UV startp = 30*startd, endp = (endd >= (UV_MAX/30)) ? UV_MAX-2 : 30*endd+29; |
|
301
|
163 |
0 |
MPUassert(mem != 0 && endd >= startd && endp >= startp, |
|
|
163 |
0 |
MPUassert(mem != 0 && endd >= startd && endp >= startp, |
|
|
0 |
163 |
MPUassert(mem != 0 && endd >= startd && endp >= startp, |
|
306
|
143 |
20 |
if (sieve_size >= endp) { |
|
312
|
20 |
0 |
} else if (!do_partial && sieve_size >= limit) { |
|
|
20 |
0 |
} else if (!do_partial && sieve_size >= limit) { |
|
321
|
0 |
0 |
if (do_partial) |
|
322
|
0 |
0 |
limit >>= ((startp < (UV)1e16) ? 8 : 10); |
|
329
|
0 |
0 |
if (do_partial) |
|
341
|
6578 |
0 |
UV endp = (endd >= (UV_MAX/30)) ? UV_MAX-2 : 30*endd+29; |
|
342
|
6578 |
0 |
MPUassert(mem != 0 && endd >= startd && endp >= startp, |
|
|
6578 |
0 |
MPUassert(mem != 0 && endd >= startd && endp >= startp, |
|
|
0 |
6578 |
MPUassert(mem != 0 && endd >= startd && endp >= startp, |
|
349
|
38678 |
3465 |
while (i < wsize && warray[i].prime < start_base_prime) |
|
|
35565 |
3113 |
while (i < wsize && warray[i].prime < start_base_prime) |
|
353
|
0 |
6578 |
if (limit > max_sieve_prime) limit = max_sieve_prime; |
|
355
|
7247893 |
3476 |
while (i < wsize && warray[i].prime <= limit) { |
|
|
7244791 |
3102 |
while (i < wsize && warray[i].prime <= limit) { |
|
356
|
4632901 |
2611890 |
if (warray[i].index >= 64) |
|
361
|
11 |
6567 |
if (limit > warray[wsize-1].prime && warray[wsize-1].prime < max_sieve_prime) |
|
|
11 |
0 |
if (limit > warray[wsize-1].prime && warray[wsize-1].prime < max_sieve_prime) |
|
404
|
0 |
6159 |
MPUassert( high >= low, "start_segment_primes bad arguments"); |
|
410
|
6159 |
0 |
ctx->endp = (ctx->hid >= (UV_MAX/30)) ? UV_MAX-2 : 30*ctx->hid+29; |
|
414
|
31 |
6128 |
if (high > 1e10 && range > 32*1024-16) { |
|
|
3 |
28 |
if (high > 1e10 && range > 32*1024-16) { |
|
418
|
3 |
0 |
if (size < 128*1024) size = 128*1024; |
|
421
|
3 |
0 |
size = (div <= 1) ? range : (range+div-1)/div; |
|
430
|
0 |
6159 |
MPUverbose(3, "segment sieve: byte range %lu split into %lu segments of size %lu\n", (unsigned long)range, (unsigned long)nsegments, (unsigned long)ctx->segment_size); |
|
445
|
11 |
6148 |
if (do_partial_sieve(low, high)) |
|
446
|
5 |
6 |
limit >>= ((low < (UV)1e16) ? 8 : 10); |
|
447
|
6159 |
0 |
if (limit <= maxsieve) { |
|
452
|
0 |
6159 |
MPUverbose(4, "segment sieve %lu - %lu, primes to %lu (max %lu)\n", (unsigned long)low, (unsigned long)high, (unsigned long)limit, (unsigned long)nprimes); |
|
453
|
0 |
6159 |
New(0, warray, nprimes, wheel_t); |
|
454
|
0 |
6159 |
START_DO_FOR_EACH_PRIME(0,limit) { |
|
|
0 |
0 |
START_DO_FOR_EACH_PRIME(0,limit) { |
|
|
18477 |
4656317 |
START_DO_FOR_EACH_PRIME(0,limit) { |
|
|
12318 |
6159 |
START_DO_FOR_EACH_PRIME(0,limit) { |
|
|
6159 |
6159 |
START_DO_FOR_EACH_PRIME(0,limit) { |
|
|
1997908 |
2658409 |
START_DO_FOR_EACH_PRIME(0,limit) { |
|
|
604 |
2161644 |
START_DO_FOR_EACH_PRIME(0,limit) { |
|
|
164340 |
1997304 |
START_DO_FOR_EACH_PRIME(0,limit) { |
|
|
604 |
1997304 |
START_DO_FOR_EACH_PRIME(0,limit) { |
|
|
0 |
4655713 |
START_DO_FOR_EACH_PRIME(0,limit) { |
|
|
5555 |
4668635 |
START_DO_FOR_EACH_PRIME(0,limit) { |
|
455
|
0 |
4668635 |
if (wsize >= nprimes) croak("segment bad upper count"); |
|
473
|
6086 |
6578 |
if (ctx->lod > ctx->hid) return 0; |
|
477
|
6159 |
419 |
: (ctx->lod + ctx->segment_size - 1); |
|
480
|
6159 |
419 |
*high = (seghigh_d == ctx->hid) ? ctx->high : (seghigh_d*30 + 29); |
|
483
|
0 |
6578 |
MPUassert( seghigh_d >= ctx->lod, "next_segment_primes: highd < lowd"); |
|
484
|
0 |
6578 |
MPUassert( range_d <= ctx->segment_size, "next_segment_primes: range > segment size"); |
|
486
|
6578 |
0 |
if (ctx->warray != 0) |
|
500
|
0 |
6159 |
MPUassert(ctx != 0, "end_segment_primes given a null pointer"); |
|
501
|
6159 |
0 |
if (ctx->segment != 0) { |
|
505
|
0 |
6159 |
if (ctx->base != 0) { |
|
509
|
6159 |
0 |
if (ctx->warray != 0) { |
|
519
|
0 |
69 |
if (hi < lo) { *list = 0; return 0; } |
|
521
|
0 |
69 |
New(0, P, Psize, UV); |
|
522
|
4 |
65 |
if (lo <= 2 && hi >= 2) P[i++] = 2; |
|
|
4 |
0 |
if (lo <= 2 && hi >= 2) P[i++] = 2; |
|
523
|
4 |
65 |
if (lo <= 3 && hi >= 3) P[i++] = 3; |
|
|
4 |
0 |
if (lo <= 3 && hi >= 3) P[i++] = 3; |
|
524
|
4 |
65 |
if (lo <= 5 && hi >= 5) P[i++] = 5; |
|
|
3 |
1 |
if (lo <= 5 && hi >= 5) P[i++] = 5; |
|
529
|
235 |
69 |
while (next_segment_primes(ctx, &seg_base, &seg_low, &seg_high)) { |
|
530
|
10519036 |
0 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) |
|
|
69 |
10518967 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) |
|
|
10518946 |
21 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) |
|
|
10519036 |
710101 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) |
|
|
710170 |
235 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) |
|
544
|
0 |
1670 |
if (n < 2) { *list = 0; return 0; } |
|
545
|
0 |
1670 |
New(0, P, max_nprimes(n) + offset + 3, uint32_t); /* Allocate list */ |
|
546
|
796 |
874 |
if (offset > 0) memset(P, 0, offset * sizeof(uint32_t)); /* Zero to offset */ |
|
549
|
1542 |
128 |
if (n >= 7) { |
|
553
|
1542 |
1542 |
while (next_segment_primes(ctx, &seg_base, &seg_low, &seg_high)) { |
|
554
|
236529 |
0 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) |
|
|
1507 |
235022 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) |
|
|
235022 |
0 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) |
|
|
236529 |
5985 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) |
|
|
7492 |
1542 |
START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high ) |
|
560
|
100 |
1670 |
while (P[i-1] > n) i--; /* Truncate the count if necesssary. */ |