| line |
true |
false |
branch |
|
40
|
5384 |
0 |
IV infinity = ivHash(self, "infinity"); // $self->{'infinity'} |
|
43
|
5237 |
147 |
NV width = nvHash(sum, "width") - nvHash(totals,"width"); |
|
|
5384 |
0 |
NV width = nvHash(sum, "width") - nvHash(totals,"width"); |
|
49
|
923 |
4461 |
NV linelength = SvNV(*av_fetch(linelengths, current_line <= ll ? current_line-1 : ll, 0)); |
|
|
5373 |
11 |
NV linelength = SvNV(*av_fetch(linelengths, current_line <= ll ? current_line-1 : ll, 0)); |
|
|
916 |
4457 |
NV linelength = SvNV(*av_fetch(linelengths, current_line <= ll ? current_line-1 : ll, 0)); |
|
|
7 |
4 |
NV linelength = SvNV(*av_fetch(linelengths, current_line <= ll ? current_line-1 : ll, 0)); |
|
55
|
5384 |
0 |
if (isPenalty(*av_fetch(nodes, end, 0))) { |
|
|
1839 |
3545 |
if (isPenalty(*av_fetch(nodes, end, 0))) { |
|
57
|
1807 |
32 |
width += nvHash(SvRV(*av_fetch(nodes,end, 0)),"width"); |
|
61
|
4075 |
1309 |
if (width < linelength) { |
|
62
|
4068 |
7 |
stretch = nvHash(sum, "stretch") - nvHash(totals, "stretch"); |
|
|
4075 |
0 |
stretch = nvHash(sum, "stretch") - nvHash(totals, "stretch"); |
|
64
|
3264 |
811 |
if (stretch > 0) { |
|
69
|
1243 |
66 |
} else if (width > linelength) { |
|
71
|
1213 |
30 |
shrink = nvHash(sum, "shrink") - nvHash(totals, "shrink"); |
|
|
1243 |
0 |
shrink = nvHash(sum, "shrink") - nvHash(totals, "shrink"); |
|
72
|
36 |
1207 |
if (shrink > 0) { |
|
84
|
586 |
0 |
IV infinity = ivHash(self, "infinity"); |
|
85
|
586 |
0 |
NV width = nvHash(sum, "width"); |
|
86
|
586 |
0 |
NV stretch = nvHash(sum, "stretch"); |
|
87
|
583 |
3 |
NV shrink = nvHash(sum, "shrink"); |
|
91
|
1106 |
45 |
while (i < len) { |
|
93
|
411 |
695 |
if (sv_derived_from(e, "Text::KnuthPlass::Glue")) { |
|
94
|
306 |
105 |
width += nvHash(SvRV(e), "width"); |
|
95
|
407 |
4 |
stretch += nvHash(SvRV(e), "stretch"); |
|
96
|
376 |
35 |
shrink += nvHash(SvRV(e), "shrink"); |
|
97
|
154 |
541 |
} else if (sv_derived_from(e, "Text::KnuthPlass::Box") || |
|
|
154 |
0 |
} else if (sv_derived_from(e, "Text::KnuthPlass::Box") || |
|
98
|
154 |
0 |
(isPenalty(e) && ivHash(SvRV(e), "penalty") == -infinity |
|
|
154 |
0 |
(isPenalty(e) && ivHash(SvRV(e), "penalty") == -infinity |
|
|
0 |
154 |
(isPenalty(e) && ivHash(SvRV(e), "penalty") == -infinity |
|
99
|
0 |
0 |
&& i > index)) { |
|
126
|
0 |
0 |
while (b) { |
|
128
|
0 |
0 |
if (SvROK(b->totals)) { |
|
134
|
0 |
0 |
if (b && b->totals) sv_free((SV*)b->totals); |
|
|
0 |
0 |
if (b && b->totals) sv_free((SV*)b->totals); |
|
135
|
0 |
0 |
if (b) Safefree(b); |
|
139
|
111 |
458 |
if (!a->prev) { list->head = a->next; } else { a->prev->next = a->next; } |
|
140
|
4 |
565 |
if (!a->next) { list->tail = a->prev; } else { a->next->prev = a->prev; } |
|
172
|
21 |
4 |
for (b = activelist->head; b; b = b->next) { |
|
173
|
17 |
4 |
if (!best || b->demerits < best->demerits) best = b; |
|
|
0 |
17 |
if (!best || b->demerits < best->demerits) best = b; |
|
175
|
26 |
4 |
while (best) { |
|
179
|
0 |
26 |
XPUSHs(sv_2mortal(newRV((SV*)posnode))); |
|
219
|
147 |
0 |
IV tolerance = ivHash(self, "tolerance"); |
|
220
|
147 |
0 |
IV infinity = ivHash(self, "infinity"); |
|
234
|
147 |
0 |
if (demerits_r && SvRV(demerits_r)) { |
|
|
147 |
0 |
if (demerits_r && SvRV(demerits_r)) { |
|
235
|
147 |
0 |
linedemerits = ivHash(SvRV(demerits_r), "line"); |
|
236
|
147 |
0 |
flaggeddemerits = ivHash(SvRV(demerits_r), "flagged"); |
|
237
|
147 |
0 |
fitnessdemerits = ivHash(SvRV(demerits_r), "fitness"); |
|
242
|
147 |
0 |
if (isPenalty(node)) { |
|
|
32 |
115 |
if (isPenalty(node)) { |
|
243
|
32 |
0 |
nodepenalty = SvIV(*hv_fetch((HV*)SvRV(node), "penalty", 7, TRUE)); |
|
246
|
697 |
147 |
while (active) { |
|
251
|
5384 |
0 |
while (active) { |
|
263
|
4918 |
466 |
if (ratio < 1 || (isPenalty(node) && nodepenalty == -infinity)) { |
|
|
4918 |
0 |
if (ratio < 1 || (isPenalty(node) && nodepenalty == -infinity)) { |
|
|
1530 |
3388 |
if (ratio < 1 || (isPenalty(node) && nodepenalty == -infinity)) { |
|
|
103 |
1427 |
if (ratio < 1 || (isPenalty(node) && nodepenalty == -infinity)) { |
|
268
|
5364 |
20 |
if (-1 <= ratio && ratio <= tolerance) { |
|
|
2439 |
2925 |
if (-1 <= ratio && ratio <= tolerance) { |
|
272
|
2439 |
0 |
if (isPenalty(node) && nodepenalty > 0) { |
|
|
917 |
1522 |
if (isPenalty(node) && nodepenalty > 0) { |
|
|
688 |
229 |
if (isPenalty(node) && nodepenalty > 0) { |
|
274
|
1751 |
0 |
} else if (isPenalty(node) && nodepenalty != -infinity) { |
|
|
229 |
1522 |
} else if (isPenalty(node) && nodepenalty != -infinity) { |
|
|
0 |
229 |
} else if (isPenalty(node) && nodepenalty != -infinity) { |
|
280
|
2439 |
0 |
if (isPenalty(node) && isPenalty(SvRV(nodeAtPos))) { |
|
|
917 |
1522 |
if (isPenalty(node) && isPenalty(SvRV(nodeAtPos))) { |
|
|
0 |
917 |
if (isPenalty(node) && isPenalty(SvRV(nodeAtPos))) { |
|
|
0 |
0 |
if (isPenalty(node) && isPenalty(SvRV(nodeAtPos))) { |
|
282
|
0 |
0 |
ivHash(node, "flagged") * |
|
283
|
0 |
0 |
ivHash(SvRV(nodeAtPos), "flagged")); |
|
286
|
2437 |
2 |
if (ratio < -0.5) current_class = 0; // tight |
|
287
|
2073 |
364 |
else if (ratio <= 0.5) current_class = 1; // normal |
|
288
|
1956 |
117 |
else if (ratio <= 1) current_class = 2; // loose |
|
291
|
594 |
1845 |
if (abs(current_class - active->fitness_class) > 1) |
|
296
|
1853 |
586 |
if (!candidates[current_class] || |
|
|
808 |
1045 |
if (!candidates[current_class] || |
|
299
|
586 |
808 |
if (!candidates[current_class]) |
|
307
|
5237 |
147 |
if (!active || active->line >= current_line) |
|
|
4687 |
550 |
if (!active || active->line >= current_line) |
|
313
|
2788 |
697 |
for (t = 0; t <= 3; t++) { |
|
314
|
586 |
2202 |
if (candidates[t]) { |
|
325
|
547 |
39 |
if (active) { |
|
329
|
14 |
533 |
if (!active->prev) { activelist->head = newnode; } |
|
335
|
0 |
39 |
if (!activelist->head) { |