| line |
true |
false |
branch |
|
24
|
3945 |
0 |
if (k > 0 && !(n& 1)) { k--; do { n >>= 1; } while (!(n& 1)); } |
|
|
2005 |
1940 |
if (k > 0 && !(n& 1)) { k--; do { n >>= 1; } while (!(n& 1)); } |
|
|
1975 |
2005 |
if (k > 0 && !(n& 1)) { k--; do { n >>= 1; } while (!(n& 1)); } |
|
25
|
3864 |
81 |
if (k > 0 && !(n% 3)) { k--; do { n /= 3; } while (!(n% 3)); } |
|
|
1316 |
2548 |
if (k > 0 && !(n% 3)) { k--; do { n /= 3; } while (!(n% 3)); } |
|
|
608 |
1316 |
if (k > 0 && !(n% 3)) { k--; do { n /= 3; } while (!(n% 3)); } |
|
26
|
3812 |
133 |
if (k > 0 && !(n% 5)) { k--; do { n /= 5; } while (!(n% 5)); } |
|
|
801 |
3011 |
if (k > 0 && !(n% 5)) { k--; do { n /= 5; } while (!(n% 5)); } |
|
|
199 |
801 |
if (k > 0 && !(n% 5)) { k--; do { n /= 5; } while (!(n% 5)); } |
|
27
|
3771 |
174 |
if (k > 0 && !(n% 7)) { k--; do { n /= 7; } while (!(n% 7)); } |
|
|
562 |
3209 |
if (k > 0 && !(n% 7)) { k--; do { n /= 7; } while (!(n% 7)); } |
|
|
89 |
562 |
if (k > 0 && !(n% 7)) { k--; do { n /= 7; } while (!(n% 7)); } |
|
28
|
3736 |
209 |
if (k > 0 && !(n%11)) { k--; do { n /= 11; } while (!(n%11)); } |
|
|
356 |
3380 |
if (k > 0 && !(n%11)) { k--; do { n /= 11; } while (!(n%11)); } |
|
|
38 |
356 |
if (k > 0 && !(n%11)) { k--; do { n /= 11; } while (!(n%11)); } |
|
30
|
200 |
3745 |
if (n == 1) return (k == 0); |
|
31
|
164 |
3581 |
if (k == 0) return (n == 1); |
|
32
|
214 |
3367 |
if (k == 1) return is_prime_power(n); |
|
33
|
3186 |
181 |
if (n < ipowsafe(13,k)) return 0; |
|
49
|
0 |
0 |
if (k > 1) { |
|
50
|
0 |
0 |
SIMPLE_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
SIMPLE_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
SIMPLE_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
51
|
0 |
0 |
if ((m % p) == 0) continue; |
|
52
|
0 |
0 |
if (UV_MAX/m < p) break; |
|
53
|
0 |
0 |
for (v = m*p; UV_MAX/v >= p && v*p <= hi; v *= p) |
|
|
0 |
0 |
for (v = m*p; UV_MAX/v >= p && v*p <= hi; v *= p) |
|
59
|
0 |
0 |
START_DO_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
START_DO_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
START_DO_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
START_DO_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
START_DO_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
START_DO_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
START_DO_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
START_DO_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
START_DO_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
START_DO_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
|
0 |
0 |
START_DO_FOR_EACH_PRIME(pstart, rootint(hi/m, k)) { |
|
60
|
0 |
0 |
if ((m % p) == 0) continue; |
|
61
|
0 |
0 |
for (v = m; UV_MAX/v >= p && v*p <= hi; ) { |
|
|
0 |
0 |
for (v = m; UV_MAX/v >= p && v*p <= hi; ) { |
|
63
|
0 |
0 |
if (v >= lo) { /* Add v to kop list */ |
|
64
|
0 |
0 |
if (n >= lsize) { |
|
66
|
0 |
0 |
Renew(l, lsize, UV); |
|
78
|
0 |
0 |
if (hi < lo) croak("range_omega_prime_sieve error hi %"UVuf" < lo %"UVuf"\n",hi,lo); |
|
82
|
0 |
0 |
New(0, *ret, skop, UV); |
|
94
|
0 |
5 |
if (hi < lo) croak("range_omega_prime_sieve error hi %"UVuf" < lo %"UVuf"\n",hi,lo); |
|
97
|
5 |
0 |
if (min == 0 || min > hi) return 0; |
|
|
0 |
5 |
if (min == 0 || min > hi) return 0; |
|
98
|
5 |
0 |
if (lo < min) lo = min; |
|
100
|
1 |
4 |
if (k == 1) return prime_power_sieve(ret, lo, hi); |
|
103
|
4 |
0 |
if ( ((hi-lo) > 100000000UL) || (k >= 10 && (hi-lo) > 5000000UL) ) |
|
|
0 |
4 |
if ( ((hi-lo) > 100000000UL) || (k >= 10 && (hi-lo) > 5000000UL) ) |
|
|
0 |
0 |
if ( ((hi-lo) > 100000000UL) || (k >= 10 && (hi-lo) > 5000000UL) ) |
|
107
|
4 |
0 |
if (ret != 0) { |
|
109
|
0 |
4 |
New(0, l, lmax, UV); |
|
111
|
10220 |
4 |
for (i = 0; i < hi-lo+1; i++) { |
|
112
|
10060 |
160 |
if (nf[i] != k) continue; |
|
113
|
160 |
0 |
if (l != 0) { |
|
114
|
0 |
160 |
if (n >= lmax) { lmax = 1 + lmax * 1.2; Renew(l, lmax, UV); } |
|
|
0 |
0 |
if (n >= lmax) { lmax = 1 + lmax * 1.2; Renew(l, lmax, UV); } |
|
120
|
4 |
0 |
if (ret != 0) *ret = l; |
|
138
|
0 |
403 |
if (k >= 16) return 0; |
|
140
|
0 |
403 |
if (k >= BITS_PER_WORD) return 0; |
|
141
|
322 |
81 |
if (max[k] == 0) return UV_MAX; |
|
152
|
0 |
0 |
if (k >= 16) return 0; |
|
154
|
0 |
0 |
if (k >= BITS_PER_WORD) return 0; |
|
166
|
5610 |
9747 |
if (k == 2) { |
|
168
|
18185 |
5610 |
for (; p <= s; j++, p = r) { |
|
169
|
18000 |
185 |
r = (j < numprimes) ? pr[j] : next_prime(p); |
|
170
|
35667 |
0 |
for (t = m*p, w = n/t; t <= n && w >= r; t *= p, w = n/t) { |
|
|
17482 |
18185 |
for (t = m*p, w = n/t; t <= n && w >= r; t *= p, w = n/t) { |
|
174
|
10870 |
17482 |
r2 <= rlim; |
|
175
|
10859 |
11 |
r2 = (++k < numprimes) ? pr[k] : rlim+1) { |
|
177
|
1760 |
10870 |
do { u *= r2; count++; } while (n/r2 >= u); |
|
190
|
0 |
17482 |
if (t > n/p) break; |
|
196
|
16481 |
9747 |
for (; p <= s; j++, p = r) { |
|
197
|
16481 |
0 |
r = (j < numprimes) ? pr[j] : next_prime(p); |
|
198
|
30964 |
0 |
for (t = m*p; t <= n; t *= p) { |
|
200
|
16481 |
14483 |
if (r > S) break; |
|
202
|
0 |
14483 |
if (t > n/p) break; |
|
213
|
2 |
1036 |
if (k == 0) return (n >= 1); |
|
214
|
133 |
903 |
if (k == 1) return prime_power_count(n); |
|
218
|
898 |
5 |
if (lo == 0 || n < lo) return 0; |
|
|
24 |
874 |
if (lo == 0 || n < lo) return 0; |
|
220
|
874 |
0 |
maxpr = rootint(n, (k > 10) ? 4 : (k > 6) ? 3 : 2); |
|
|
20 |
854 |
maxpr = rootint(n, (k > 10) ? 4 : (k > 6) ? 3 : 2); |
|
240
|
0 |
202 |
if (n == 0) return 0; |
|
241
|
1 |
201 |
if (k == 0) return (n == 1) ? 1 : 0; |
|
243
|
201 |
0 |
if (k > 15 || n > max_omega_prime_count(k)) return 0; |
|
|
0 |
201 |
if (k > 15 || n > max_omega_prime_count(k)) return 0; |
|
246
|
0 |
201 |
if (lo == 0) return 0; |
|
247
|
5 |
196 |
if (n == 1) return lo; |
|
249
|
39 |
157 |
if (k == 1) { |
|
251
|
0 |
39 |
if (hi == 0) hi = max_nth_omega_prime(1); |
|
258
|
3134 |
196 |
while (!is_omega_prime(k,hi)) |