Lines Matching refs:tail
26 local result, p, head, tail, last;
28 tail := queue[2];
39 while head <> tail do
53 local head, tail, last;
55 tail := queue[2];
57 if tail = last then
60 tail := queue[2];
61 queue[tail] := el;
62 tail := tail + 1;
63 queue[2] := tail;
68 elif tail + 1 <> head then
69 queue[tail] := el;
70 tail := tail + 1;
71 queue[2] := tail;
74 tail := queue[2];
75 queue[tail] := el;
76 tail := tail + 1;
77 queue[2] := tail;
84 local head, tail, last;
86 tail := queue[2];
89 if tail = last then
98 elif tail + 1 <> head then
111 local head, tail, last, result;
113 tail := queue[2];
115 if head <> tail then
133 local head, tail, last, result;
135 tail := queue[2];
137 if head <> tail then
138 if tail = 3 then
139 tail := last;
141 tail := tail - 1;
143 result := queue[tail];
144 queue[tail] := fail;
145 queue[2] := tail;
155 local head, tail;
157 tail := queue[2];
159 if tail >= head then
160 return tail - head;
162 return Length(queue) - 2 - (head - tail);
173 local tail;
174 tail := queue[2];
175 if queue[1] <> tail then
176 if tail <> 3 then
177 return queue[tail-1];