Condition Coverage

blib/lib/Math/Geometry/Planar.pm
Criterion Covered Total %
condition 151 285 52.9


and 3 conditions

line !l l&&!r l&&r condition
523 4 3 4 $n1 / $d < 1 and $n2 / $d < 1
7 1 3 $n1 / $d < 1 and $n2 / $d < 1 and $n1 / $d > 0
4 0 3 $n1 / $d < 1 and $n2 / $d < 1 and $n1 / $d > 0 and $n2 / $d > 0
602 1 0 1 $n1 / $d > 0 and $n2 / $d > 0
632 1 0 1 $n1 / $d < 1 and $n1 / $d > 0
693 0 0 2 $n1 / $d < 1 and $n1 / $d > 0
0 1 1 $n1 / $d < 1 and $n1 / $d > 0 and $n2 / $d > 0
931 0 0 7 $index >= 0 and $index < num_polygons($self)
953 1 0 5 $i < @points and @points > 2
967 1 0 5 $i < @points and @points > 2
1005 9 0 0 $prev < 0 and $tmp > 0
3 5 1 $prev > 0 and $tmp < 0
1038 3 5 3 $i == 0 and $j == @points - 1
1215 3 0 0 $points[$i - 1][0] <= $point[0] && $point[0] <= $points[$i][0] || $points[$i - 1][0] >= $point[0] && $point[0] >= $points[$i][0] and $points[$i - 1][1] <= $$pointref[1] && $point[1] <= $points[$i][1] || $points[$i - 1][1] >= $point[1] && $point[1] >= $points[$i][1]
1744 3 0 1 CrossProduct([$result[$bot], $result[$bot + 1], $points[$i]]) > 0 and CrossProduct([$result[$top - 1], $result[$top], $points[$i]]) > 0
1831 4 1 3 CrossProduct([$points[$minmin], $points[$maxmin], $points[$i]]) >= 0 and $i < $maxmin
1853 3 1 4 CrossProduct([$points[$maxmax], $points[$minmax], $points[$i]]) >= 0 and $i > $minmax
2123 0 0 1 $mid_angle < $start_angle and $start_angle < $end_angle
0 0 0 $start_angle < $end_angle and $end_angle < $mid_angle
0 0 0 $end_angle < $mid_angle and $mid_angle < $start_angle
2206 4 3 0 $y1 == $y2 and $x1 == $x2
2207 4 3 0 $y1 == $y2 and $x1 < $x2
2208 4 0 3 $y1 == $y2 and $x1 > $x2
2209 0 1 3 $x1 == $x2 and $y1 < $y2
2210 0 0 1 $x1 == $x2 and $y1 > $y2
2491 55 27 52 _fp_equal($v0{'y'}, $v1{'y'}, $Math::Geometry::Planar::precision) && _fp_equal($v0{'x'}, $v1{'x'}, $Math::Geometry::Planar::precision)
2706 1 0 7 ($tmp_d = $tr[$tl]{'d0'}) > 0 and $tr[$tmp_d]{'u0'} == $tu
2709 1 7 0 ($tmp_d = $tr[$tl]{'d0'}) > 0 and $tr[$tmp_d]{'u1'} == $tu
2713 4 0 4 ($tmp_d = $tr[$tl]{'d1'}) > 0 and $tr[$tmp_d]{'u0'} == $tu
2716 4 4 0 ($tmp_d = $tr[$tl]{'d1'}) > 0 and $tr[$tmp_d]{'u1'} == $tu
2771 1 0 3 ($tmp_d = $tr[$tl]{'d0'}) > 0 and $tr[$tmp_d]{'u0'} == $tu
2774 1 3 0 ($tmp_d = $tr[$tl]{'d0'}) > 0 and $tr[$tmp_d]{'u1'} == $tu
2778 2 0 2 ($tmp_d = $tr[$tl]{'d1'}) > 0 and $tr[$tmp_d]{'u0'} == $tu
2781 2 2 0 ($tmp_d = $tr[$tl]{'d1'}) > 0 and $tr[$tmp_d]{'u1'} == $tu
2821 7 7 27 $t > 0 and _greater_than_equal_to($tr[$t]{'lo'}, $tr[$tlast]{'lo'})
2863 27 0 0 $tr[$t]{'d0'} <= 0 and $tr[$t]{'d1'} <= 0
0 10 17 $tr[$t]{'d0'} > 0 and $tr[$t]{'d1'} <= 0
10 0 0 $tr[$t]{'d0'} <= 0 and $tr[$t]{'d1'} > 0
2871 0 9 8 $tr[$t]{'u0'} > 0 and $tr[$t]{'u1'} > 0
2901 0 6 3 ($td0 = $tr[$tmp_u]{'d0'}) > 0 and ($td1 = $tr[$tmp_u]{'d1'}) > 0
2903 0 2 1 $tr[$td0]{'rseg'} > 0 and not _is_left_of($tr[$td0]{'rseg'}, $s{'v1'})
2917 5 5 7 _fp_equal($tr[$t]{'lo'}{'y'}, $tr[$tlast]{'lo'}{'y'}, $Math::Geometry::Planar::precision) and _fp_equal($tr[$t]{'lo'}{'x'}, $tr[$tlast]{'lo'}{'x'}, $Math::Geometry::Planar::precision)
10 4 3 _fp_equal($tr[$t]{'lo'}{'y'}, $tr[$tlast]{'lo'}{'y'}, $Math::Geometry::Planar::precision) and _fp_equal($tr[$t]{'lo'}{'x'}, $tr[$tlast]{'lo'}{'x'}, $Math::Geometry::Planar::precision) and $tribot
2927 0 0 3 $tmptriseg > 0 and _is_left_of($tmptriseg, $s{'v0'})
2935 0 11 3 $tr[$tr[$t]{'d0'}]{'u0'} > 0 and $tr[$tr[$t]{'d0'}]{'u1'} > 0
2951 0 0 0 $tr[$t]{'u0'} > 0 and $tr[$t]{'u1'} > 0
2982 0 0 0 ($td0 = $tr[$tmp_u]{'d0'}) > 0 and ($td1 = $tr[$tmp_u]{'d1'}) > 0
2984 0 0 0 $tr[$td0]{'rseg'} > 0 and not _is_left_of($tr[$td0]{'rseg'}, $s{'v1'})
2998 0 0 0 _fp_equaL($tr[$t]{'lo'}{'y'}, $tr[$tlast]{'lo'}{'y'}, $Math::Geometry::Planar::precision) and _fp_equal($tr[$t]{'lo'}{'x'}, $tr[$tlast]{'lo'}{'x'}, $Math::Geometry::Planar::precision)
0 0 0 _fp_equaL($tr[$t]{'lo'}{'y'}, $tr[$tlast]{'lo'}{'y'}, $Math::Geometry::Planar::precision) and _fp_equal($tr[$t]{'lo'}{'x'}, $tr[$tlast]{'lo'}{'x'}, $Math::Geometry::Planar::precision) and $tribot
3009 0 0 0 $tmpseg > 0 and _is_left_of($tmpseg, $s{'v0'})
3019 0 0 0 $tr[$tr[$t]{'d1'}]{'u0'} > 0 and $tr[$tr[$t]{'d1'}]{'u1'} > 0
3065 0 2 8 $tr[$t]{'u0'} > 0 and $tr[$t]{'u1'} > 0
3096 0 2 0 ($td0 = $tr[$tmp_u]{'d0'}) > 0 and ($td1 = $tr[$tmp_u]{'d1'}) > 0
3098 0 0 0 $tr[$td0]{'rseg'} > 0 and not _is_left_of($tr[$td0]{'rseg'}, $s{'v1'})
3112 3 0 7 _fp_equal($tr[$t]{'lo'}{'y'}, $tr[$tlast]{'lo'}{'y'}, $Math::Geometry::Planar::precision) and _fp_equal($tr[$t]{'lo'}{'x'}, $tr[$tlast]{'lo'}{'x'}, $Math::Geometry::Planar::precision)
3 0 7 _fp_equal($tr[$t]{'lo'}{'y'}, $tr[$tlast]{'lo'}{'y'}, $Math::Geometry::Planar::precision) and _fp_equal($tr[$t]{'lo'}{'x'}, $tr[$tlast]{'lo'}{'x'}, $Math::Geometry::Planar::precision) and $tribot
3264 4 9 13 $tr[$t]{'lseg'} == $tr[$tnext]{'lseg'} and $tr[$t]{'rseg'} == $tr[$tnext]{'rseg'}
3440 3 0 1 $t{'u0'} <= 0 and $t{'u1'} <= 0
2 0 1 $t{'d0'} <= 0 and $t{'d1'} <= 0
3656 13 0 2 $t{'u0'} <= 0 and $t{'u1'} <= 0
11 0 2 $t{'d0'} <= 0 and $t{'d1'} <= 0
0 10 1 $t{'u0'} > 0 and $t{'u1'} > 0
3657 0 2 0 $t{'d0'} > 0 and $t{'d1'} > 0
3678 0 2 0 $t{'u0'} > 0 and $t{'u1'} > 0
3699 0 1 0 $t{'d0'} > 0 and $t{'d1'} > 0
3703 0 0 0 $dir == $TR_FROM_DN and $t{'d1'} == $from
0 0 0 $dir == $TR_FROM_UP and $t{'u1'} == $from
3724 0 0 0 $dir == $TR_FROM_UP and $t{'u0'} == $from
3742 0 0 1 $dir == $TR_FROM_UP and $t{'u1'} == $from
3759 0 9 1 $t{'d0'} > 0 and $t{'d1'} > 0
3764 1 0 0 $dir == $TR_FROM_DN && $t{'d0'} == $from
3783 0 0 0 $dir == $TR_FROM_DN and $t{'d1'} == $from
3799 5 2 2 _equal_to($t{'hi'}, $seg[$t{'lseg'}]{'v0'}) and _equal_to($t{'lo'}, $seg[$t{'rseg'}]{'v0'})
2 2 3 _equal_to($t{'hi'}, $seg[$t{'rseg'}]{'v1'}) and _equal_to($t{'lo'}, $seg[$t{'lseg'}]{'v1'})

or 3 conditions

line l !l&&r !l&&!r condition
818 0 43 0 ref $invocant || $invocant
1005 0 0 9 $prev < 0 and $tmp > 0 or $prev > 0 and $tmp < 0
1215 0 0 3 $points[$i - 1][0] <= $point[0] && $point[0] <= $points[$i][0] || $points[$i - 1][0] >= $point[0] && $point[0] >= $points[$i][0]
0 0 0 $points[$i - 1][1] <= $$pointref[1] && $point[1] <= $points[$i][1] || $points[$i - 1][1] >= $point[1] && $point[1] >= $points[$i][1]
1628 10 12 52 $j == $i or $j == $i - 1
1662 1 2 9 $area < $min_area or not $min_area
2123 1 0 0 $mid_angle < $start_angle and $start_angle < $end_angle or $start_angle < $end_angle and $end_angle < $mid_angle
0 0 0 $mid_angle < $start_angle and $start_angle < $end_angle or $start_angle < $end_angle and $end_angle < $mid_angle or $end_angle < $mid_angle and $mid_angle < $start_angle
2192 2 0 0 $b1 || $b2
0 0 2 $b1 == $b2 or not $b1 || $b2
3215 4 2 11 _equal_to(\%v, $seg[$rptr{'segnum'}]{'v0'}) or _equal_to(\%v, $seg[$rptr{'segnum'}]{'v1'})
3257 12 0 15 ($tnext = $tr[$t]{'d0'}) > 0 && $tr[$tnext]{'rseg'} == $segnum || ($tnext = $tr[$t]{'d1'}) > 0 && $tr[$tnext]{'rseg'} == $segnum
3260 13 0 14 ($tnext = $tr[$t]{'d0'}) > 0 && $tr[$tnext]{'lseg'} == $segnum || ($tnext = $tr[$t]{'d1'}) > 0 && $tr[$tnext]{'lseg'} == $segnum
3402 0 0 0 $t{'lseg'} <= 0 or $t{'rseg'} <= 0
3437 7 2 4 $t{'lseg'} <= 0 or $t{'rseg'} <= 0
3440 1 0 3 $t{'u0'} <= 0 and $t{'u1'} <= 0 or $t{'d0'} <= 0 and $t{'d1'} <= 0
3641 27 15 15 $trnum <= 0 or $visited[$trnum]
3656 10 0 0 $t{'u0'} > 0 or $t{'u1'} > 0
3703 0 0 0 $dir == $TR_FROM_DN and $t{'d1'} == $from or $dir == $TR_FROM_UP and $t{'u1'} == $from
3952 10 2 2 $v != $endv or $ri > 1