Branch Coverage

lib/PDL/ImageND-pp-contour_polylines.c
Criterion Covered Total %
branch 206 318 64.7


line true false branch
28 0 1 PDL_RETERROR(PDL_err, PDL->redodims_default(__privtrans));
41 0 1 if (!__privtrans->broadcast.incs) return PDL->make_error(PDL_EUSERERROR, "Error in contour_polylines:" "broadcast.incs NULL");
109 1 0 switch (__privtrans->__datatype) { /* Start generic switch */
111 0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
1 0 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
1 0 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
1 0 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
1 0 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
1 0 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
1 0 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
0 1 PDL_DECLARE_PARAMS_contour_polylines_1(PDL_Float,F,PDL_Indx,N,PDL_Byte,B)
115 0 1 PDL_BROADCASTLOOP_START_contour_polylines_readdata
0 1 PDL_BROADCASTLOOP_START_contour_polylines_readdata
0 1 PDL_BROADCASTLOOP_START_contour_polylines_readdata
0 1 PDL_BROADCASTLOOP_START_contour_polylines_readdata
0 1 PDL_BROADCASTLOOP_START_contour_polylines_readdata
1 1 PDL_BROADCASTLOOP_START_contour_polylines_readdata
1 1 PDL_BROADCASTLOOP_START_contour_polylines_readdata
117 25 5 {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {{/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) { (seenmap_datap)[0+(__inc_seenmap_m*(m))+(__inc_seenmap_n*(n))] = 0; }} /* Close n */}} /* Close m */ /* & 1 = east, & 2 = south */
5 1 {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {{/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) { (seenmap_datap)[0+(__inc_seenmap_m*(m))+(__inc_seenmap_n*(n))] = 0; }} /* Close n */}} /* Close m */ /* & 1 = east, & 2 = south */
118 80 1 {/* Open q */ PDL_EXPAND2(register PDL_Indx q=0, __q_stop=(__q_size)); for(; q<__q_stop; q+=1) { (pathendindex_datap)[0+(__inc_pathendindex_q*(q))] = -1; }} /* Close q */
139 25 5 {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {{/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
5 1 {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {{/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
142 25 0 char brk_ab = PDL_CONTOUR_BREAK(m,n,0,(c_datap)[0]),
25 0 char brk_ab = PDL_CONTOUR_BREAK(m,n,0,(c_datap)[0]),
25 0 char brk_ab = PDL_CONTOUR_BREAK(m,n,0,(c_datap)[0]),
25 0 char brk_ab = PDL_CONTOUR_BREAK(m,n,0,(c_datap)[0]),
25 0 char brk_ab = PDL_CONTOUR_BREAK(m,n,0,(c_datap)[0]),
20 5 char brk_ab = PDL_CONTOUR_BREAK(m,n,0,(c_datap)[0]),
20 0 char brk_ab = PDL_CONTOUR_BREAK(m,n,0,(c_datap)[0]),
20 0 char brk_ab = PDL_CONTOUR_BREAK(m,n,0,(c_datap)[0]),
12 8 char brk_ab = PDL_CONTOUR_BREAK(m,n,0,(c_datap)[0]),
0 12 char brk_ab = PDL_CONTOUR_BREAK(m,n,0,(c_datap)[0]),
143 25 0 brk_ad = PDL_CONTOUR_BREAK(m,n,1,(c_datap)[0]),
25 0 brk_ad = PDL_CONTOUR_BREAK(m,n,1,(c_datap)[0]),
25 0 brk_ad = PDL_CONTOUR_BREAK(m,n,1,(c_datap)[0]),
25 0 brk_ad = PDL_CONTOUR_BREAK(m,n,1,(c_datap)[0]),
25 0 brk_ad = PDL_CONTOUR_BREAK(m,n,1,(c_datap)[0]),
25 0 brk_ad = PDL_CONTOUR_BREAK(m,n,1,(c_datap)[0]),
25 0 brk_ad = PDL_CONTOUR_BREAK(m,n,1,(c_datap)[0]),
20 5 brk_ad = PDL_CONTOUR_BREAK(m,n,1,(c_datap)[0]),
14 6 brk_ad = PDL_CONTOUR_BREAK(m,n,1,(c_datap)[0]),
2 12 brk_ad = PDL_CONTOUR_BREAK(m,n,1,(c_datap)[0]),
144 25 0 brk_be = PDL_CONTOUR_BREAK(m1,n,1,(c_datap)[0]),
20 5 brk_be = PDL_CONTOUR_BREAK(m1,n,1,(c_datap)[0]),
20 0 brk_be = PDL_CONTOUR_BREAK(m1,n,1,(c_datap)[0]),
20 0 brk_be = PDL_CONTOUR_BREAK(m1,n,1,(c_datap)[0]),
20 0 brk_be = PDL_CONTOUR_BREAK(m1,n,1,(c_datap)[0]),
20 0 brk_be = PDL_CONTOUR_BREAK(m1,n,1,(c_datap)[0]),
20 0 brk_be = PDL_CONTOUR_BREAK(m1,n,1,(c_datap)[0]),
16 4 brk_be = PDL_CONTOUR_BREAK(m1,n,1,(c_datap)[0]),
10 6 brk_be = PDL_CONTOUR_BREAK(m1,n,1,(c_datap)[0]),
2 8 brk_be = PDL_CONTOUR_BREAK(m1,n,1,(c_datap)[0]),
145 25 0 brk_cd = PDL_CONTOUR_BREAK(m,n1,2,(c_datap)[0]), /* actually dc */
25 0 brk_cd = PDL_CONTOUR_BREAK(m,n1,2,(c_datap)[0]), /* actually dc */
25 0 brk_cd = PDL_CONTOUR_BREAK(m,n1,2,(c_datap)[0]), /* actually dc */
20 5 brk_cd = PDL_CONTOUR_BREAK(m,n1,2,(c_datap)[0]), /* actually dc */
16 4 brk_cd = PDL_CONTOUR_BREAK(m,n1,2,(c_datap)[0]), /* actually dc */
16 0 brk_cd = PDL_CONTOUR_BREAK(m,n1,2,(c_datap)[0]), /* actually dc */
16 0 brk_cd = PDL_CONTOUR_BREAK(m,n1,2,(c_datap)[0]), /* actually dc */
16 0 brk_cd = PDL_CONTOUR_BREAK(m,n1,2,(c_datap)[0]), /* actually dc */
10 6 brk_cd = PDL_CONTOUR_BREAK(m,n1,2,(c_datap)[0]), /* actually dc */
2 8 brk_cd = PDL_CONTOUR_BREAK(m,n1,2,(c_datap)[0]), /* actually dc */
146 25 0 brk_de = PDL_CONTOUR_BREAK(m,n1,0,(c_datap)[0]);
25 0 brk_de = PDL_CONTOUR_BREAK(m,n1,0,(c_datap)[0]);
25 0 brk_de = PDL_CONTOUR_BREAK(m,n1,0,(c_datap)[0]);
20 5 brk_de = PDL_CONTOUR_BREAK(m,n1,0,(c_datap)[0]);
20 0 brk_de = PDL_CONTOUR_BREAK(m,n1,0,(c_datap)[0]);
16 4 brk_de = PDL_CONTOUR_BREAK(m,n1,0,(c_datap)[0]);
16 0 brk_de = PDL_CONTOUR_BREAK(m,n1,0,(c_datap)[0]);
16 0 brk_de = PDL_CONTOUR_BREAK(m,n1,0,(c_datap)[0]);
12 4 brk_de = PDL_CONTOUR_BREAK(m,n1,0,(c_datap)[0]);
4 8 brk_de = PDL_CONTOUR_BREAK(m,n1,0,(c_datap)[0]);
147 0 25 if (brk_ab && (brk_ad || brk_de || brk_be))
0 0 if (brk_ab && (brk_ad || brk_de || brk_be))
0 0 if (brk_ab && (brk_ad || brk_de || brk_be))
0 0 if (brk_ab && (brk_ad || brk_de || brk_be))
151 25 0 if (linedir < 0 && brk_ad && brk_cd)
2 23 if (linedir < 0 && brk_ad && brk_cd)
2 0 if (linedir < 0 && brk_ad && brk_cd)
153 23 2 if (linedir < 0 && brk_ad && (brk_de || brk_be))
0 23 if (linedir < 0 && brk_ad && (brk_de || brk_be))
0 0 if (linedir < 0 && brk_ad && (brk_de || brk_be))
0 0 if (linedir < 0 && brk_ad && (brk_de || brk_be))
155 23 2 if (linedir < 0) { (seenmap_datap)[0+(__inc_seenmap_m*(m))+(__inc_seenmap_n*(n))] |= 2; continue; }
161 32 16 PDL_LINEPOINT(linex,liney,(linedir+3)%4,(c_datap)[0],p);
169 16 0 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
16 0 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
16 0 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
16 0 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
16 0 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
16 0 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
16 0 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
16 0 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
4 12 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
4 0 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
4 12 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
4 0 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
4 12 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
2 2 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
4 10 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
3 1 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
2 11 char brk_right = PDL_CONTOUR_BREAK(linex,liney,linedir,(c_datap)[0]),
170 16 0 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
16 0 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
16 0 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
16 0 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
16 0 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
16 0 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
16 0 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
16 0 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
4 12 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
4 0 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
4 12 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
2 2 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
4 10 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
2 2 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
4 8 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
4 0 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
6 6 brk_straight = PDL_CONTOUR_BREAK(linex+dir2xy[linedir][0],liney+dir2xy[linedir][1],(linedir+3)%4,(c_datap)[0]),
171 16 0 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
16 0 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
16 0 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
16 0 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
16 0 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
16 0 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
16 0 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
16 0 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
4 12 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
4 0 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
4 12 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
4 0 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
4 12 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
4 0 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
4 12 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
2 2 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
10 4 brk_left = PDL_CONTOUR_BREAK(linex+dir2xy[(linedir+3)%4][0],liney+dir2xy[(linedir+3)%4][1],linedir,(c_datap)[0]);
172 2 14 if (brk_right) {
176 4 10 if (brk_straight) {
180 8 2 if (brk_left) {
190 2 0 if (endfrontx == startbackx && endfronty == startbacky) /* close polygon */
2 0 if (endfrontx == startbackx && endfronty == startbacky) /* close polygon */
191 4 2 PDL_LINEPOINT(startlinex,startliney,(startlinedir+3)%4,(c_datap)[0],p);
194 0 1 PDL_BROADCASTLOOP_END_contour_polylines_readdata
0 1 PDL_BROADCASTLOOP_END_contour_polylines_readdata
236 0 1 if (!PDL) return (pdl_error){PDL_EFATAL, "PDL core struct is NULL, can't continue",0};
238 0 1 if (!__privtrans) return PDL->make_error_simple(PDL_EFATAL, "Couldn't create trans");
244 0 1 PDL_RETERROR(PDL_err, PDL->type_coerce(__privtrans));
245 0 1 PDL_RETERROR(PDL_err, PDL->make_trans_mutual(__privtrans));