Lines Matching refs:initial

104   initial,	/* Initial arguments segment.  */  member
168 ASSERT (list->initial.count <= list->initial.allocated); in verify_list()
170 for (i = 0; i < list->initial.count; i++) in verify_list()
172 verify_element (&list->initial.element[i]); in verify_list()
173 total_repcount += list->initial.element[i].repcount; in verify_list()
175 ASSERT (total_repcount == list->initial.length); in verify_list()
207 for (i = 0; i < list->initial.count; i++) in free_list()
208 free_element (&list->initial.element[i]); in free_list()
209 if (list->initial.element != NULL) in free_list()
210 free (list->initial.element); in free_list()
247 newlist->initial.count = newlist->initial.allocated = list->initial.count; in copy_list()
249 if (list->initial.count == 0) in copy_list()
250 newlist->initial.element = NULL; in copy_list()
253 newlist->initial.element = in copy_list()
255 xmalloc (newlist->initial.allocated * sizeof (struct format_arg)); in copy_list()
256 for (i = 0; i < list->initial.count; i++) in copy_list()
258 copy_element (&newlist->initial.element[i], in copy_list()
259 &list->initial.element[i]); in copy_list()
260 length += list->initial.element[i].repcount; in copy_list()
263 ASSERT (length == list->initial.length); in copy_list()
264 newlist->initial.length = length; in copy_list()
314 n = list1->initial.count; in equal_list()
315 if (n != list2->initial.count) in equal_list()
319 const struct format_arg * e1 = &list1->initial.element[i]; in equal_list()
320 const struct format_arg * e2 = &list2->initial.element[i]; in equal_list()
348 if (newcount > list->initial.allocated) in ensure_initial_alloc()
350 list->initial.allocated = in ensure_initial_alloc()
351 MAX (2 * list->initial.allocated + 1, newcount); in ensure_initial_alloc()
352 list->initial.element = in ensure_initial_alloc()
354 xrealloc (list->initial.element, in ensure_initial_alloc()
355 list->initial.allocated * sizeof (struct format_arg)); in ensure_initial_alloc()
363 if (list->initial.count >= list->initial.allocated) in grow_initial_alloc()
365 list->initial.allocated = in grow_initial_alloc()
366 MAX (2 * list->initial.allocated + 1, list->initial.count + 1); in grow_initial_alloc()
367 list->initial.element = in grow_initial_alloc()
369 xrealloc (list->initial.element, in grow_initial_alloc()
370 list->initial.allocated * sizeof (struct format_arg)); in grow_initial_alloc()
418 n = list->initial.count; in normalize_outermost_list()
421 && equal_element (&list->initial.element[i], in normalize_outermost_list()
422 &list->initial.element[j-1])) in normalize_outermost_list()
424 list->initial.element[j-1].repcount += in normalize_outermost_list()
425 list->initial.element[i].repcount; in normalize_outermost_list()
426 free_element (&list->initial.element[i]); in normalize_outermost_list()
431 list->initial.element[j] = list->initial.element[i]; in normalize_outermost_list()
434 list->initial.count = j; in normalize_outermost_list()
503 if (list->initial.count > 0 in normalize_outermost_list()
504 && equal_element (&list->initial.element[list->initial.count-1], in normalize_outermost_list()
510 list->initial.length -= in normalize_outermost_list()
511 list->initial.element[list->initial.count-1].repcount; in normalize_outermost_list()
512 list->initial.count--; in normalize_outermost_list()
517 while (list->initial.count > 0 in normalize_outermost_list()
518 && equal_element (&list->initial.element[list->initial.count-1], in normalize_outermost_list()
522 MIN (list->initial.element[list->initial.count-1].repcount, in normalize_outermost_list()
551 list->initial.element[list->initial.count-1].repcount -= in normalize_outermost_list()
553 if (list->initial.element[list->initial.count-1].repcount == 0) in normalize_outermost_list()
555 free_element (&list->initial.element[list->initial.count-1]); in normalize_outermost_list()
556 list->initial.count--; in normalize_outermost_list()
558 list->initial.length -= moved_repcount; in normalize_outermost_list()
574 n = list->initial.count; in normalize_list()
576 if (list->initial.element[i].type == FAT_LIST) in normalize_list()
577 normalize_list (list->initial.element[i].list); in normalize_list()
604 list->initial.count = 0; in make_unconstrained_list()
605 list->initial.allocated = 0; in make_unconstrained_list()
606 list->initial.element = NULL; in make_unconstrained_list()
607 list->initial.length = 0; in make_unconstrained_list()
631 list->initial.count = 0; in make_empty_list()
632 list->initial.allocated = 0; in make_empty_list()
633 list->initial.element = NULL; in make_empty_list()
634 list->initial.length = 0; in make_empty_list()
651 return (list->initial.count == 0 && list->repeated.count == 0); in is_empty_list()
684 if (m == list->initial.length) in rotate_loop()
693 newcount = list->initial.count + 1; in rotate_loop()
695 i = list->initial.count; in rotate_loop()
696 copy_element (&list->initial.element[i], &list->repeated.element[0]); in rotate_loop()
697 list->initial.element[i].repcount = m - list->initial.length; in rotate_loop()
698 list->initial.count = newcount; in rotate_loop()
699 list->initial.length = m; in rotate_loop()
706 unsigned int q = (m - list->initial.length) / n; in rotate_loop()
707 unsigned int r = (m - list->initial.length) % n; in rotate_loop()
729 i = list->initial.count; in rotate_loop()
734 copy_element (&list->initial.element[i], in rotate_loop()
737 copy_element (&list->initial.element[i], &list->repeated.element[j]); in rotate_loop()
740 copy_element (&list->initial.element[i], in rotate_loop()
742 list->initial.element[i].repcount = t; in rotate_loop()
746 list->initial.count = newcount; in rotate_loop()
754 list->initial.length = m; in rotate_loop()
801 if (n > list->initial.length) in initial_splitelement()
805 ASSERT (n <= list->initial.length); in initial_splitelement()
810 s < list->initial.count && t >= list->initial.element[s].repcount; in initial_splitelement()
811 t -= list->initial.element[s].repcount, s++) in initial_splitelement()
817 ASSERT (s < list->initial.count); in initial_splitelement()
820 oldrepcount = list->initial.element[s].repcount; in initial_splitelement()
821 newcount = list->initial.count + 1; in initial_splitelement()
823 for (i = list->initial.count - 1; i > s; i--) in initial_splitelement()
824 list->initial.element[i+1] = list->initial.element[i]; in initial_splitelement()
825 copy_element (&list->initial.element[s+1], &list->initial.element[s]); in initial_splitelement()
826 list->initial.element[s].repcount = t; in initial_splitelement()
827 list->initial.element[s+1].repcount = oldrepcount - t; in initial_splitelement()
828 list->initial.count = newcount; in initial_splitelement()
850 if (n >= list->initial.length) in initial_unshare()
854 ASSERT (n < list->initial.length); in initial_unshare()
859 s < list->initial.count && t >= list->initial.element[s].repcount; in initial_unshare()
860 t -= list->initial.element[s].repcount, s++) in initial_unshare()
864 ASSERT (s < list->initial.count); in initial_unshare()
866 if (list->initial.element[s].repcount > 1) in initial_unshare()
870 unsigned int oldrepcount = list->initial.element[s].repcount; in initial_unshare()
872 list->initial.count + (t == 0 || t == oldrepcount - 1 ? 1 : 2); in initial_unshare()
878 for (i = list->initial.count - 1; i > s; i--) in initial_unshare()
879 list->initial.element[i+1] = list->initial.element[i]; in initial_unshare()
880 copy_element (&list->initial.element[s+1], &list->initial.element[s]); in initial_unshare()
883 list->initial.element[s].repcount = 1; in initial_unshare()
884 list->initial.element[s+1].repcount = oldrepcount - 1; in initial_unshare()
888 list->initial.element[s].repcount = oldrepcount - 1; in initial_unshare()
889 list->initial.element[s+1].repcount = 1; in initial_unshare()
896 for (i = list->initial.count - 1; i > s; i--) in initial_unshare()
897 list->initial.element[i+2] = list->initial.element[i]; in initial_unshare()
898 copy_element (&list->initial.element[s+2], &list->initial.element[s]); in initial_unshare()
899 copy_element (&list->initial.element[s+1], &list->initial.element[s]); in initial_unshare()
900 list->initial.element[s].repcount = t; in initial_unshare()
901 list->initial.element[s+1].repcount = 1; in initial_unshare()
902 list->initial.element[s+2].repcount = oldrepcount - 1 - t; in initial_unshare()
904 list->initial.count = newcount; in initial_unshare()
910 ASSERT (list->initial.element[s].repcount == 1); in initial_unshare()
930 for (i = list->initial.count; i > 0; i--) in shift_list()
931 list->initial.element[i] = list->initial.element[i-1]; in shift_list()
932 list->initial.element[0].repcount = n; in shift_list()
933 list->initial.element[0].presence = FCT_REQUIRED; in shift_list()
934 list->initial.element[0].type = FAT_OBJECT; in shift_list()
935 list->initial.count++; in shift_list()
936 list->initial.length += n; in shift_list()
1070 newcount = list->initial.count + list->repeated.count; in append_repeated_to_initial()
1072 i = list->initial.count; in append_repeated_to_initial()
1074 list->initial.element[i] = list->repeated.element[j]; in append_repeated_to_initial()
1075 list->initial.count = newcount; in append_repeated_to_initial()
1076 list->initial.length = list->initial.length + list->repeated.length; in append_repeated_to_initial()
1096 while (list->initial.count > 0) in backtrack_in_initial()
1098 unsigned int i = list->initial.count - 1; in backtrack_in_initial()
1099 if (list->initial.element[i].presence == FCT_REQUIRED) in backtrack_in_initial()
1102 list->initial.length -= list->initial.element[i].repcount; in backtrack_in_initial()
1103 free_element (&list->initial.element[i]); in backtrack_in_initial()
1104 list->initial.count = i; in backtrack_in_initial()
1109 list->initial.length--; in backtrack_in_initial()
1110 if (list->initial.element[i].repcount > 1) in backtrack_in_initial()
1111 list->initial.element[i].repcount--; in backtrack_in_initial()
1114 free_element (&list->initial.element[i]); in backtrack_in_initial()
1115 list->initial.count = i; in backtrack_in_initial()
1160 unsigned int m = MAX (list1->initial.length, list2->initial.length); in make_intersected_list()
1170 ASSERT (list1->initial.length == list2->initial.length); in make_intersected_list()
1177 result->initial.count = 0; in make_intersected_list()
1178 result->initial.allocated = 0; in make_intersected_list()
1179 result->initial.element = NULL; in make_intersected_list()
1180 result->initial.length = 0; in make_intersected_list()
1193 e1 = list1->initial.element; c1 = list1->initial.count; in make_intersected_list()
1194 e2 = list2->initial.element; c2 = list2->initial.count; in make_intersected_list()
1201 re = &result->initial.element[result->initial.count]; in make_intersected_list()
1214 result->initial.count++; in make_intersected_list()
1215 result->initial.length += re->repcount; in make_intersected_list()
1346 if (list->initial.count > 0 in make_intersection_with_empty_list()
1347 ? list->initial.element[0].presence == FCT_REQUIRED in make_intersection_with_empty_list()
1530 unsigned int m = MAX (list1->initial.length, list2->initial.length); in make_union_list()
1536 ASSERT (list1->initial.length == list2->initial.length); in make_union_list()
1543 if (list2->initial.length >= list1->initial.length) in make_union_list()
1545 rotate_loop (list1, list2->initial.length); in make_union_list()
1547 rotate_loop (list1, list1->initial.length + 1); in make_union_list()
1554 if (list1->initial.length >= list2->initial.length) in make_union_list()
1556 rotate_loop (list2, list1->initial.length); in make_union_list()
1558 rotate_loop (list2, list2->initial.length + 1); in make_union_list()
1565 result->initial.count = 0; in make_union_list()
1566 result->initial.allocated = 0; in make_union_list()
1567 result->initial.element = NULL; in make_union_list()
1568 result->initial.length = 0; in make_union_list()
1581 e1 = list1->initial.element; c1 = list1->initial.count; in make_union_list()
1582 e2 = list2->initial.element; c2 = list2->initial.count; in make_union_list()
1589 re = &result->initial.element[result->initial.count]; in make_union_list()
1595 result->initial.count++; in make_union_list()
1596 result->initial.length += re->repcount; in make_union_list()
1624 re = &result->initial.element[result->initial.count]; in make_union_list()
1628 result->initial.count++; in make_union_list()
1629 result->initial.length += 1; in make_union_list()
1639 ensure_initial_alloc (result, result->initial.count + c1); in make_union_list()
1644 re = &result->initial.element[result->initial.count]; in make_union_list()
1646 result->initial.count++; in make_union_list()
1647 result->initial.length += re->repcount; in make_union_list()
1664 re = &result->initial.element[result->initial.count]; in make_union_list()
1668 result->initial.count++; in make_union_list()
1669 result->initial.length += 1; in make_union_list()
1679 ensure_initial_alloc (result, result->initial.count + c2); in make_union_list()
1684 re = &result->initial.element[result->initial.count]; in make_union_list()
1686 result->initial.count++; in make_union_list()
1687 result->initial.length += re->repcount; in make_union_list()
1787 if (list->initial.count > 0 in make_union_with_empty_list()
1788 ? list->initial.element[0].presence == FCT_REQUIRED in make_union_with_empty_list()
1793 ASSERT (list->initial.count > 0); in make_union_with_empty_list()
1794 ASSERT (list->initial.element[0].repcount == 1); in make_union_with_empty_list()
1795 ASSERT (list->initial.element[0].presence == FCT_REQUIRED); in make_union_with_empty_list()
1796 list->initial.element[0].presence = FCT_OPTIONAL; in make_union_with_empty_list()
1849 s < list->initial.count && t >= list->initial.element[s].repcount; in is_required()
1850 t -= list->initial.element[s].repcount, s++) in is_required()
1851 if (list->initial.element[s].presence != FCT_REQUIRED) in is_required()
1857 if (s < list->initial.count) in is_required()
1859 if (list->initial.element[s].presence != FCT_REQUIRED) in is_required()
1906 if (list->repeated.count == 0 && list->initial.length <= n) in add_required_constraint()
1918 list->initial.element[i].presence = FCT_REQUIRED; in add_required_constraint()
1919 rest -= list->initial.element[i].repcount; in add_required_constraint()
1944 if (list->repeated.count == 0 && list->initial.length <= n) in add_end_constraint()
1950 (s < list->initial.count in add_end_constraint()
1951 ? /* n < list->initial.length */ list->initial.element[s].presence in add_end_constraint()
1954 for (i = s; i < list->initial.count; i++) in add_end_constraint()
1956 list->initial.length -= list->initial.element[i].repcount; in add_end_constraint()
1957 free_element (&list->initial.element[i]); in add_end_constraint()
1959 list->initial.count = s; in add_end_constraint()
2000 &list->initial.element[s], &newconstraint)) in add_type_constraint()
2002 free_element (&list->initial.element[s]); in add_type_constraint()
2003 list->initial.element[s].type = tmpelement.type; in add_type_constraint()
2004 list->initial.element[s].list = tmpelement.list; in add_type_constraint()
2037 &list->initial.element[s], &newconstraint)) in add_listtype_constraint()
2039 free_element (&list->initial.element[s]); in add_listtype_constraint()
2040 list->initial.element[s].type = tmpelement.type; in add_listtype_constraint()
2041 list->initial.element[s].list = tmpelement.list; in add_listtype_constraint()
2086 listlist->initial.count = 0; in make_repeated_list_of_lists()
2087 listlist->initial.allocated = 0; in make_repeated_list_of_lists()
2088 listlist->initial.element = NULL; in make_repeated_list_of_lists()
2089 listlist->initial.length = 0; in make_repeated_list_of_lists()
2134 if (sublist->initial.length < period) in make_repeated_list()
2139 srcseg = &sublist->initial; in make_repeated_list()
2154 tmp.count = sublist->initial.count + sublist->repeated.count; in make_repeated_list()
2159 for (i = 0; i < sublist->initial.count; i++) in make_repeated_list()
2160 tmp.element[i] = sublist->initial.element[i]; in make_repeated_list()
2162 tmp.element[i] = sublist->initial.element[j]; in make_repeated_list()
2163 tmp.length = sublist->initial.length + sublist->repeated.length; in make_repeated_list()
2184 list->initial.count = 0; in make_repeated_list()
2185 list->initial.allocated = 0; in make_repeated_list()
2186 list->initial.element = NULL; in make_repeated_list()
2187 list->initial.length = 0; in make_repeated_list()
2210 copy_element (&list->initial.element[list->initial.count], in make_repeated_list()
2212 list->initial.element[list->initial.count].repcount = k; in make_repeated_list()
2213 list->initial.count++; in make_repeated_list()
2214 list->initial.length += k; in make_repeated_list()
2225 ASSERT (list->initial.count > 0); in make_repeated_list()
2226 if (list->initial.element[0].presence == FCT_REQUIRED) in make_repeated_list()
2229 ASSERT (list->initial.element[0].presence == FCT_REQUIRED); in make_repeated_list()
2230 ASSERT (list->initial.element[0].repcount == 1); in make_repeated_list()
2231 list->initial.element[0].presence = FCT_OPTIONAL; in make_repeated_list()
2239 list->initial.element[sj].repcount - tj); in make_repeated_list()
2243 if (!make_intersected_element (&list->initial.element[list->initial.count], in make_repeated_list()
2245 &list->initial.element[sj])) in make_repeated_list()
2247 if (list->initial.element[list->initial.count].presence == FCT_REQUIRED) in make_repeated_list()
2261 list->initial.element[list->initial.count].repcount = k; in make_repeated_list()
2262 list->initial.count++; in make_repeated_list()
2263 list->initial.length += k; in make_repeated_list()
2275 if (tj == list->initial.element[sj].repcount) in make_repeated_list()
2282 ASSERT (list->initial.length == n); in make_repeated_list()
2286 for (i = 0; i < list->initial.length; i += period) in make_repeated_list()
2289 list->initial.element[si].presence = FCT_OPTIONAL; in make_repeated_list()
2296 newcount = list->initial.count - splitindex; in make_repeated_list()
2304 list->repeated.element[j] = list->initial.element[i]; in make_repeated_list()
2307 list->initial.count = splitindex; in make_repeated_list()
2308 list->initial.length = n - p; in make_repeated_list()
3388 for (i = 0; i < list->initial.count; i++) in print_list()
3389 for (j = 0; j < list->initial.element[i].repcount; j++) in print_list()
3393 print_element (&list->initial.element[i]); in print_list()