line |
true |
false |
branch |
66
|
26 |
6 |
while (cur_index >= 1) { |
69
|
26 |
0 |
ap = av_fetch(av, cur_index, 0); |
70
|
26 |
0 |
bp = av_fetch(av, rand_index, 0); |
71
|
26 |
0 |
a = (ap ? sv_2mortal( newSVsv(*ap) ) : &PL_sv_undef); |
|
26 |
0 |
a = (ap ? sv_2mortal( newSVsv(*ap) ) : &PL_sv_undef); |
|
26 |
0 |
a = (ap ? sv_2mortal( newSVsv(*ap) ) : &PL_sv_undef); |
72
|
26 |
0 |
b = (bp ? sv_2mortal( newSVsv(*bp) ) : &PL_sv_undef); |
|
26 |
0 |
b = (bp ? sv_2mortal( newSVsv(*bp) ) : &PL_sv_undef); |
|
26 |
0 |
b = (bp ? sv_2mortal( newSVsv(*bp) ) : &PL_sv_undef); |
73
|
26 |
0 |
SvREFCNT_inc_simple_void(a); |
74
|
26 |
0 |
SvREFCNT_inc_simple_void(b); |
77
|
26 |
0 |
if (av_store(av, cur_index, b) == NULL) |
|
26 |
0 |
if (av_store(av, cur_index, b) == NULL) |
78
|
26 |
0 |
SvREFCNT_dec(b); |
79
|
26 |
0 |
mg_set(b); |
81
|
26 |
0 |
if (av_store(av, rand_index, a) == NULL) |
|
26 |
0 |
if (av_store(av, rand_index, a) == NULL) |
82
|
26 |
0 |
SvREFCNT_dec(a); |
83
|
26 |
0 |
mg_set(a); |
97
|
4 |
1 |
while (cur_index <= num) { |
98
|
4 |
0 |
rand_index = cur_index + (len - cur_index) * Drand01(); // cur_index + rand() % (len - cur_index) |
102
|
4 |
0 |
ap = av_fetch(av, cur_index, 0); |
103
|
4 |
0 |
bp = av_fetch(av, rand_index, 0); |
104
|
4 |
0 |
a = (ap ? sv_2mortal( newSVsv(*ap) ) : &PL_sv_undef); |
|
4 |
0 |
a = (ap ? sv_2mortal( newSVsv(*ap) ) : &PL_sv_undef); |
|
4 |
0 |
a = (ap ? sv_2mortal( newSVsv(*ap) ) : &PL_sv_undef); |
105
|
4 |
0 |
b = (bp ? sv_2mortal( newSVsv(*bp) ) : &PL_sv_undef); |
|
4 |
0 |
b = (bp ? sv_2mortal( newSVsv(*bp) ) : &PL_sv_undef); |
|
4 |
0 |
b = (bp ? sv_2mortal( newSVsv(*bp) ) : &PL_sv_undef); |
106
|
4 |
0 |
SvREFCNT_inc_simple_void(b); |
107
|
4 |
0 |
SvREFCNT_inc_simple_void(a); |
112
|
4 |
0 |
if (av_store(av, cur_index, b) == NULL) |
|
4 |
0 |
if (av_store(av, cur_index, b) == NULL) |
113
|
4 |
0 |
SvREFCNT_dec(b); |
114
|
4 |
0 |
mg_set(b); |
116
|
4 |
0 |
if (av_store(av, rand_index, a) == NULL) |
|
4 |
0 |
if (av_store(av, rand_index, a) == NULL) |
117
|
4 |
0 |
SvREFCNT_dec(a); |
118
|
4 |
0 |
mg_set(a); |
128
|
6 |
1000015 |
if (SvTIED_mg((SV *)av, PERL_MAGIC_tied)) { |
|
6 |
0 |
if (SvTIED_mg((SV *)av, PERL_MAGIC_tied)) { |
|
6 |
1000015 |
if (SvTIED_mg((SV *)av, PERL_MAGIC_tied)) { |
137
|
10000117 |
1000015 |
while (cur_index >= 0) { |
138
|
10000117 |
0 |
rand_index = (cur_index + 1) * Drand01(); // rand() % (cur_index + 1); |
154
|
1 |
1 |
if (SvTIED_mg((SV *)av, PERL_MAGIC_tied)) { |
|
1 |
0 |
if (SvTIED_mg((SV *)av, PERL_MAGIC_tied)) { |
|
1 |
1 |
if (SvTIED_mg((SV *)av, PERL_MAGIC_tied)) { |
163
|
3 |
1 |
while (cur_index <= num) { |
164
|
3 |
0 |
rand_index = cur_index + (len - cur_index) * Drand01(); // cur_index + rand() % (len - cur_index); |
191
|
0 |
2 |
if (num < 0) |
194
|
2 |
0 |
if (num != 0) { |
201
|
2 |
0 |
if (num < last_index) { |
208
|
1 |
1 |
if (SvTIED_mg((SV *)av, PERL_MAGIC_tied)) { |
|
1 |
0 |
if (SvTIED_mg((SV *)av, PERL_MAGIC_tied)) { |
|
1 |
1 |
if (SvTIED_mg((SV *)av, PERL_MAGIC_tied)) { |
212
|
4 |
1 |
for (k = 0; k <= num; k++) { |
214
|
4 |
0 |
sv = (svp ? newSVsv(*svp) : &PL_sv_undef); |
219
|
1 |
0 |
else if (GIMME_V == G_VOID) { |
|
0 |
1 |
else if (GIMME_V == G_VOID) { |
250
|
0 |
3 |
if (items == 0) |
253
|
12 |
3 |
for (i = 0; i < items; i++) { |
255
|
3 |
9 |
if (!SvOK(sv)) // skip undefs |
|
3 |
0 |
if (!SvOK(sv)) // skip undefs |
|
3 |
0 |
if (!SvOK(sv)) // skip undefs |
257
|
0 |
9 |
if (!SvROK(sv)) // isn't a ref type |
258
|
0 |
0 |
croak_sv_is_not_an_arrayref(i); |
260
|
9 |
0 |
if (SvTYPE(ref) == SVt_PVAV) { // $ref eq "ARRAY" |
262
|
9 |
0 |
len = av_len(av); |
263
|
9 |
0 |
shuffle_av_last_num_elements(av, len, len); |
266
|
0 |
0 |
croak_sv_is_not_an_arrayref(i); |