Branch Coverage

ds_iset.c
Criterion Covered Total %
branch 31 148 20.9


line true false branch
47 267 0 while (bits < maxsizebits-1 && ((1UL << bits) * FILL_RATIO + 1) < init_size)
188 79 while (bits < maxsizebits-1 && ((1UL << bits) * FILL_RATIO + 1) < init_size)
51 0 79 Newz(0, set.arr, set.maxsize, UV);
63 3663 2977 while (arr[h] != 0 && arr[h] != val)
1270 2393 while (arr[h] != 0 && arr[h] != val)
69 1 46 if (val == 0) return set.contains_zero;
79 0 0 if (newsize < oldsize) croak("iset: max set size overflow");
82 0 0 Newz(0, narr, newsize, UV);
83 0 0 for (i = 0; i < oldsize; i++)
84 0 0 if (v = set->arr[i], v != 0)
93 0 5351 if (sign == 0)
95 108 5243 else if (val > (UV)IV_MAX)
96 20 88 set->type |= ((sign > 0) ? ISET_TYPE_UV : ISET_TYPE_IV);
97 27 5324 if (val == 0) {
98 11 16 if (set->contains_zero)
104 2351 2973 if (set->arr[h] == val)
107 0 2973 if (++set->size > FILL_RATIO * (double)set->maxsize)
116 0 0 if (dsign != 0) {
117 0 0 unsigned char typemask = ((dsign > 0) ? ISET_TYPE_UV : ISET_TYPE_IV);
119 0 0 for (i = 0; i < dlen; i++) {
121 0 0 if (val == 0) {
122 0 0 if (!s.contains_zero) { s.contains_zero = 1; s.size++; }
125 0 0 if (s.arr[h] != val) {
127 0 0 if (++s.size > FILL_RATIO * (double)s.maxsize)
130 0 0 if (val > (UV)IV_MAX)
140 2 36 if (set.contains_zero)
142 7744 38 for (j = 0; j < set.maxsize; j++)
143 603 7141 if (set.arr[j] != 0)
145 0 38 if (i != set.size) croak("iset_allvals bad size");
146 9 29 if (set.type == ISET_TYPE_IV) sort_iv_array((IV*)array, i);
193 0 0 for (i = 0; i < lsize; i++)
194 0 0 if (v = larr[i], v != 0)
196 0 0 if (L.contains_zero && !set->contains_zero) iset_add(set,0,1);
0 0 if (L.contains_zero && !set->contains_zero) iset_add(set,0,1);
225 0 0 for (i = 0; i < A.maxsize; i++)
226 0 0 if (v = A.arr[i], v != 0)
228 0 0 for (i = 0; i < B.maxsize; i++)
229 0 0 if (v = B.arr[i], v != 0)
231 0 0 if (A.contains_zero || B.contains_zero) iset_add(&s,0,1);
0 0 if (A.contains_zero || B.contains_zero) iset_add(&s,0,1);
242 0 0 if (A.size > B.size) /* Swap for performance. */
247 0 0 for (i = 0; i < A.maxsize; i++)
248 0 0 if (v = A.arr[i], v != 0)
249 0 0 if ( !((v > (UV)IV_MAX) && !samesign) && iset_contains(B, v))
0 0 if ( !((v > (UV)IV_MAX) && !samesign) && iset_contains(B, v))
0 0 if ( !((v > (UV)IV_MAX) && !samesign) && iset_contains(B, v))
251 0 0 if (A.contains_zero && B.contains_zero) iset_add(&s,0,1);
0 0 if (A.contains_zero && B.contains_zero) iset_add(&s,0,1);
261 0 0 for (i = 0; i < A.maxsize; i++)
262 0 0 if (v = A.arr[i], v != 0)
263 0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(B, v) )
0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(B, v) )
0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(B, v) )
265 0 0 if (A.contains_zero && !B.contains_zero) iset_add(&s,0,1);
0 0 if (A.contains_zero && !B.contains_zero) iset_add(&s,0,1);
275 0 0 for (i = 0; i < A.maxsize; i++)
276 0 0 if (v = A.arr[i], v != 0)
277 0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(B, v) )
0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(B, v) )
0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(B, v) )
279 0 0 for (i = 0; i < B.maxsize; i++)
280 0 0 if (v = B.arr[i], v != 0)
281 0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(A, v) )
0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(A, v) )
0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(A, v) )
283 0 0 if ((A.contains_zero + B.contains_zero) == 1) iset_add(&s,0,1);
291 0 0 if (A.size > B.size)
293 0 0 if (A.contains_zero && !B.contains_zero)
0 0 if (A.contains_zero && !B.contains_zero)
295 0 0 for (i = 0; i < A.maxsize; i++)
296 0 0 if (v = A.arr[i], v != 0)
297 0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(B, v) )
0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(B, v) )
0 0 if ( ((v > (UV)IV_MAX) && !samesign) || !iset_contains(B, v) )