Lines Matching refs:initial

101   initial,	/* Initial arguments segment.  */  member
165 ASSERT (list->initial.count <= list->initial.allocated); in verify_list()
167 for (i = 0; i < list->initial.count; i++) in verify_list()
169 verify_element (&list->initial.element[i]); in verify_list()
170 total_repcount += list->initial.element[i].repcount; in verify_list()
172 ASSERT (total_repcount == list->initial.length); in verify_list()
204 for (i = 0; i < list->initial.count; i++) in free_list()
205 free_element (&list->initial.element[i]); in free_list()
206 if (list->initial.element != NULL) in free_list()
207 free (list->initial.element); in free_list()
244 newlist->initial.count = newlist->initial.allocated = list->initial.count; in copy_list()
246 if (list->initial.count == 0) in copy_list()
247 newlist->initial.element = NULL; in copy_list()
250 newlist->initial.element = in copy_list()
252 xmalloc (newlist->initial.allocated * sizeof (struct format_arg)); in copy_list()
253 for (i = 0; i < list->initial.count; i++) in copy_list()
255 copy_element (&newlist->initial.element[i], in copy_list()
256 &list->initial.element[i]); in copy_list()
257 length += list->initial.element[i].repcount; in copy_list()
260 ASSERT (length == list->initial.length); in copy_list()
261 newlist->initial.length = length; in copy_list()
311 n = list1->initial.count; in equal_list()
312 if (n != list2->initial.count) in equal_list()
316 const struct format_arg * e1 = &list1->initial.element[i]; in equal_list()
317 const struct format_arg * e2 = &list2->initial.element[i]; in equal_list()
345 if (newcount > list->initial.allocated) in ensure_initial_alloc()
347 list->initial.allocated = in ensure_initial_alloc()
348 MAX (2 * list->initial.allocated + 1, newcount); in ensure_initial_alloc()
349 list->initial.element = in ensure_initial_alloc()
351 xrealloc (list->initial.element, in ensure_initial_alloc()
352 list->initial.allocated * sizeof (struct format_arg)); in ensure_initial_alloc()
360 if (list->initial.count >= list->initial.allocated) in grow_initial_alloc()
362 list->initial.allocated = in grow_initial_alloc()
363 MAX (2 * list->initial.allocated + 1, list->initial.count + 1); in grow_initial_alloc()
364 list->initial.element = in grow_initial_alloc()
366 xrealloc (list->initial.element, in grow_initial_alloc()
367 list->initial.allocated * sizeof (struct format_arg)); in grow_initial_alloc()
415 n = list->initial.count; in normalize_outermost_list()
418 && equal_element (&list->initial.element[i], in normalize_outermost_list()
419 &list->initial.element[j-1])) in normalize_outermost_list()
421 list->initial.element[j-1].repcount += in normalize_outermost_list()
422 list->initial.element[i].repcount; in normalize_outermost_list()
423 free_element (&list->initial.element[i]); in normalize_outermost_list()
428 list->initial.element[j] = list->initial.element[i]; in normalize_outermost_list()
431 list->initial.count = j; in normalize_outermost_list()
500 if (list->initial.count > 0 in normalize_outermost_list()
501 && equal_element (&list->initial.element[list->initial.count-1], in normalize_outermost_list()
507 list->initial.length -= in normalize_outermost_list()
508 list->initial.element[list->initial.count-1].repcount; in normalize_outermost_list()
509 list->initial.count--; in normalize_outermost_list()
514 while (list->initial.count > 0 in normalize_outermost_list()
515 && equal_element (&list->initial.element[list->initial.count-1], in normalize_outermost_list()
519 MIN (list->initial.element[list->initial.count-1].repcount, in normalize_outermost_list()
548 list->initial.element[list->initial.count-1].repcount -= in normalize_outermost_list()
550 if (list->initial.element[list->initial.count-1].repcount == 0) in normalize_outermost_list()
552 free_element (&list->initial.element[list->initial.count-1]); in normalize_outermost_list()
553 list->initial.count--; in normalize_outermost_list()
555 list->initial.length -= moved_repcount; in normalize_outermost_list()
571 n = list->initial.count; in normalize_list()
573 if (list->initial.element[i].type == FAT_LIST) in normalize_list()
574 normalize_list (list->initial.element[i].list); in normalize_list()
601 list->initial.count = 0; in make_unconstrained_list()
602 list->initial.allocated = 0; in make_unconstrained_list()
603 list->initial.element = NULL; in make_unconstrained_list()
604 list->initial.length = 0; in make_unconstrained_list()
628 list->initial.count = 0; in make_empty_list()
629 list->initial.allocated = 0; in make_empty_list()
630 list->initial.element = NULL; in make_empty_list()
631 list->initial.length = 0; in make_empty_list()
648 return (list->initial.count == 0 && list->repeated.count == 0); in is_empty_list()
681 if (m == list->initial.length) in rotate_loop()
690 newcount = list->initial.count + 1; in rotate_loop()
692 i = list->initial.count; in rotate_loop()
693 copy_element (&list->initial.element[i], &list->repeated.element[0]); in rotate_loop()
694 list->initial.element[i].repcount = m - list->initial.length; in rotate_loop()
695 list->initial.count = newcount; in rotate_loop()
696 list->initial.length = m; in rotate_loop()
703 unsigned int q = (m - list->initial.length) / n; in rotate_loop()
704 unsigned int r = (m - list->initial.length) % n; in rotate_loop()
726 i = list->initial.count; in rotate_loop()
731 copy_element (&list->initial.element[i], in rotate_loop()
734 copy_element (&list->initial.element[i], &list->repeated.element[j]); in rotate_loop()
737 copy_element (&list->initial.element[i], in rotate_loop()
739 list->initial.element[i].repcount = t; in rotate_loop()
743 list->initial.count = newcount; in rotate_loop()
751 list->initial.length = m; in rotate_loop()
798 if (n > list->initial.length) in initial_splitelement()
802 ASSERT (n <= list->initial.length); in initial_splitelement()
807 s < list->initial.count && t >= list->initial.element[s].repcount; in initial_splitelement()
808 t -= list->initial.element[s].repcount, s++) in initial_splitelement()
814 ASSERT (s < list->initial.count); in initial_splitelement()
817 oldrepcount = list->initial.element[s].repcount; in initial_splitelement()
818 newcount = list->initial.count + 1; in initial_splitelement()
820 for (i = list->initial.count - 1; i > s; i--) in initial_splitelement()
821 list->initial.element[i+1] = list->initial.element[i]; in initial_splitelement()
822 copy_element (&list->initial.element[s+1], &list->initial.element[s]); in initial_splitelement()
823 list->initial.element[s].repcount = t; in initial_splitelement()
824 list->initial.element[s+1].repcount = oldrepcount - t; in initial_splitelement()
825 list->initial.count = newcount; in initial_splitelement()
847 if (n >= list->initial.length) in initial_unshare()
851 ASSERT (n < list->initial.length); in initial_unshare()
856 s < list->initial.count && t >= list->initial.element[s].repcount; in initial_unshare()
857 t -= list->initial.element[s].repcount, s++) in initial_unshare()
861 ASSERT (s < list->initial.count); in initial_unshare()
863 if (list->initial.element[s].repcount > 1) in initial_unshare()
867 unsigned int oldrepcount = list->initial.element[s].repcount; in initial_unshare()
869 list->initial.count + (t == 0 || t == oldrepcount - 1 ? 1 : 2); in initial_unshare()
875 for (i = list->initial.count - 1; i > s; i--) in initial_unshare()
876 list->initial.element[i+1] = list->initial.element[i]; in initial_unshare()
877 copy_element (&list->initial.element[s+1], &list->initial.element[s]); in initial_unshare()
880 list->initial.element[s].repcount = 1; in initial_unshare()
881 list->initial.element[s+1].repcount = oldrepcount - 1; in initial_unshare()
885 list->initial.element[s].repcount = oldrepcount - 1; in initial_unshare()
886 list->initial.element[s+1].repcount = 1; in initial_unshare()
893 for (i = list->initial.count - 1; i > s; i--) in initial_unshare()
894 list->initial.element[i+2] = list->initial.element[i]; in initial_unshare()
895 copy_element (&list->initial.element[s+2], &list->initial.element[s]); in initial_unshare()
896 copy_element (&list->initial.element[s+1], &list->initial.element[s]); in initial_unshare()
897 list->initial.element[s].repcount = t; in initial_unshare()
898 list->initial.element[s+1].repcount = 1; in initial_unshare()
899 list->initial.element[s+2].repcount = oldrepcount - 1 - t; in initial_unshare()
901 list->initial.count = newcount; in initial_unshare()
907 ASSERT (list->initial.element[s].repcount == 1); in initial_unshare()
927 for (i = list->initial.count; i > 0; i--) in shift_list()
928 list->initial.element[i] = list->initial.element[i-1]; in shift_list()
929 list->initial.element[0].repcount = n; in shift_list()
930 list->initial.element[0].presence = FCT_REQUIRED; in shift_list()
931 list->initial.element[0].type = FAT_OBJECT; in shift_list()
932 list->initial.count++; in shift_list()
933 list->initial.length += n; in shift_list()
1057 newcount = list->initial.count + list->repeated.count; in append_repeated_to_initial()
1059 i = list->initial.count; in append_repeated_to_initial()
1061 list->initial.element[i] = list->repeated.element[j]; in append_repeated_to_initial()
1062 list->initial.count = newcount; in append_repeated_to_initial()
1063 list->initial.length = list->initial.length + list->repeated.length; in append_repeated_to_initial()
1083 while (list->initial.count > 0) in backtrack_in_initial()
1085 unsigned int i = list->initial.count - 1; in backtrack_in_initial()
1086 if (list->initial.element[i].presence == FCT_REQUIRED) in backtrack_in_initial()
1089 list->initial.length -= list->initial.element[i].repcount; in backtrack_in_initial()
1090 free_element (&list->initial.element[i]); in backtrack_in_initial()
1091 list->initial.count = i; in backtrack_in_initial()
1096 list->initial.length--; in backtrack_in_initial()
1097 if (list->initial.element[i].repcount > 1) in backtrack_in_initial()
1098 list->initial.element[i].repcount--; in backtrack_in_initial()
1101 free_element (&list->initial.element[i]); in backtrack_in_initial()
1102 list->initial.count = i; in backtrack_in_initial()
1147 unsigned int m = MAX (list1->initial.length, list2->initial.length); in make_intersected_list()
1157 ASSERT (list1->initial.length == list2->initial.length); in make_intersected_list()
1164 result->initial.count = 0; in make_intersected_list()
1165 result->initial.allocated = 0; in make_intersected_list()
1166 result->initial.element = NULL; in make_intersected_list()
1167 result->initial.length = 0; in make_intersected_list()
1180 e1 = list1->initial.element; c1 = list1->initial.count; in make_intersected_list()
1181 e2 = list2->initial.element; c2 = list2->initial.count; in make_intersected_list()
1188 re = &result->initial.element[result->initial.count]; in make_intersected_list()
1201 result->initial.count++; in make_intersected_list()
1202 result->initial.length += re->repcount; in make_intersected_list()
1333 if (list->initial.count > 0 in make_intersection_with_empty_list()
1334 ? list->initial.element[0].presence == FCT_REQUIRED in make_intersection_with_empty_list()
1507 unsigned int m = MAX (list1->initial.length, list2->initial.length); in make_union_list()
1513 ASSERT (list1->initial.length == list2->initial.length); in make_union_list()
1520 if (list2->initial.length >= list1->initial.length) in make_union_list()
1522 rotate_loop (list1, list2->initial.length); in make_union_list()
1524 rotate_loop (list1, list1->initial.length + 1); in make_union_list()
1531 if (list1->initial.length >= list2->initial.length) in make_union_list()
1533 rotate_loop (list2, list1->initial.length); in make_union_list()
1535 rotate_loop (list2, list2->initial.length + 1); in make_union_list()
1542 result->initial.count = 0; in make_union_list()
1543 result->initial.allocated = 0; in make_union_list()
1544 result->initial.element = NULL; in make_union_list()
1545 result->initial.length = 0; in make_union_list()
1558 e1 = list1->initial.element; c1 = list1->initial.count; in make_union_list()
1559 e2 = list2->initial.element; c2 = list2->initial.count; in make_union_list()
1566 re = &result->initial.element[result->initial.count]; in make_union_list()
1572 result->initial.count++; in make_union_list()
1573 result->initial.length += re->repcount; in make_union_list()
1601 re = &result->initial.element[result->initial.count]; in make_union_list()
1605 result->initial.count++; in make_union_list()
1606 result->initial.length += 1; in make_union_list()
1616 ensure_initial_alloc (result, result->initial.count + c1); in make_union_list()
1621 re = &result->initial.element[result->initial.count]; in make_union_list()
1623 result->initial.count++; in make_union_list()
1624 result->initial.length += re->repcount; in make_union_list()
1641 re = &result->initial.element[result->initial.count]; in make_union_list()
1645 result->initial.count++; in make_union_list()
1646 result->initial.length += 1; in make_union_list()
1656 ensure_initial_alloc (result, result->initial.count + c2); in make_union_list()
1661 re = &result->initial.element[result->initial.count]; in make_union_list()
1663 result->initial.count++; in make_union_list()
1664 result->initial.length += re->repcount; in make_union_list()
1764 if (list->initial.count > 0 in make_union_with_empty_list()
1765 ? list->initial.element[0].presence == FCT_REQUIRED in make_union_with_empty_list()
1770 ASSERT (list->initial.count > 0); in make_union_with_empty_list()
1771 ASSERT (list->initial.element[0].repcount == 1); in make_union_with_empty_list()
1772 ASSERT (list->initial.element[0].presence == FCT_REQUIRED); in make_union_with_empty_list()
1773 list->initial.element[0].presence = FCT_OPTIONAL; in make_union_with_empty_list()
1826 s < list->initial.count && t >= list->initial.element[s].repcount; in is_required()
1827 t -= list->initial.element[s].repcount, s++) in is_required()
1828 if (list->initial.element[s].presence != FCT_REQUIRED) in is_required()
1834 if (s < list->initial.count) in is_required()
1836 if (list->initial.element[s].presence != FCT_REQUIRED) in is_required()
1883 if (list->repeated.count == 0 && list->initial.length <= n) in add_required_constraint()
1895 list->initial.element[i].presence = FCT_REQUIRED; in add_required_constraint()
1896 rest -= list->initial.element[i].repcount; in add_required_constraint()
1921 if (list->repeated.count == 0 && list->initial.length <= n) in add_end_constraint()
1927 (s < list->initial.count in add_end_constraint()
1928 ? /* n < list->initial.length */ list->initial.element[s].presence in add_end_constraint()
1931 for (i = s; i < list->initial.count; i++) in add_end_constraint()
1933 list->initial.length -= list->initial.element[i].repcount; in add_end_constraint()
1934 free_element (&list->initial.element[i]); in add_end_constraint()
1936 list->initial.count = s; in add_end_constraint()
1977 &list->initial.element[s], &newconstraint)) in add_type_constraint()
1979 free_element (&list->initial.element[s]); in add_type_constraint()
1980 list->initial.element[s].type = tmpelement.type; in add_type_constraint()
1981 list->initial.element[s].list = tmpelement.list; in add_type_constraint()
2014 &list->initial.element[s], &newconstraint)) in add_listtype_constraint()
2016 free_element (&list->initial.element[s]); in add_listtype_constraint()
2017 list->initial.element[s].type = tmpelement.type; in add_listtype_constraint()
2018 list->initial.element[s].list = tmpelement.list; in add_listtype_constraint()
2063 listlist->initial.count = 0; in make_repeated_list_of_lists()
2064 listlist->initial.allocated = 0; in make_repeated_list_of_lists()
2065 listlist->initial.element = NULL; in make_repeated_list_of_lists()
2066 listlist->initial.length = 0; in make_repeated_list_of_lists()
2111 if (sublist->initial.length < period) in make_repeated_list()
2116 srcseg = &sublist->initial; in make_repeated_list()
2131 tmp.count = sublist->initial.count + sublist->repeated.count; in make_repeated_list()
2136 for (i = 0; i < sublist->initial.count; i++) in make_repeated_list()
2137 tmp.element[i] = sublist->initial.element[i]; in make_repeated_list()
2139 tmp.element[i] = sublist->initial.element[j]; in make_repeated_list()
2140 tmp.length = sublist->initial.length + sublist->repeated.length; in make_repeated_list()
2161 list->initial.count = 0; in make_repeated_list()
2162 list->initial.allocated = 0; in make_repeated_list()
2163 list->initial.element = NULL; in make_repeated_list()
2164 list->initial.length = 0; in make_repeated_list()
2187 copy_element (&list->initial.element[list->initial.count], in make_repeated_list()
2189 list->initial.element[list->initial.count].repcount = k; in make_repeated_list()
2190 list->initial.count++; in make_repeated_list()
2191 list->initial.length += k; in make_repeated_list()
2202 ASSERT (list->initial.count > 0); in make_repeated_list()
2203 if (list->initial.element[0].presence == FCT_REQUIRED) in make_repeated_list()
2206 ASSERT (list->initial.element[0].presence == FCT_REQUIRED); in make_repeated_list()
2207 ASSERT (list->initial.element[0].repcount == 1); in make_repeated_list()
2208 list->initial.element[0].presence = FCT_OPTIONAL; in make_repeated_list()
2216 list->initial.element[sj].repcount - tj); in make_repeated_list()
2220 if (!make_intersected_element (&list->initial.element[list->initial.count], in make_repeated_list()
2222 &list->initial.element[sj])) in make_repeated_list()
2224 if (list->initial.element[list->initial.count].presence == FCT_REQUIRED) in make_repeated_list()
2238 list->initial.element[list->initial.count].repcount = k; in make_repeated_list()
2239 list->initial.count++; in make_repeated_list()
2240 list->initial.length += k; in make_repeated_list()
2252 if (tj == list->initial.element[sj].repcount) in make_repeated_list()
2259 ASSERT (list->initial.length == n); in make_repeated_list()
2263 for (i = 0; i < list->initial.length; i += period) in make_repeated_list()
2266 list->initial.element[si].presence = FCT_OPTIONAL; in make_repeated_list()
2273 newcount = list->initial.count - splitindex; in make_repeated_list()
2281 list->repeated.element[j] = list->initial.element[i]; in make_repeated_list()
2284 list->initial.count = splitindex; in make_repeated_list()
2285 list->initial.length = n - p; in make_repeated_list()
3450 for (i = 0; i < list->initial.count; i++) in print_list()
3451 for (j = 0; j < list->initial.element[i].repcount; j++) in print_list()
3455 print_element (&list->initial.element[i]); in print_list()