121 integer i__, q, osptr1, hrange, lrange;
202 i__1 = vwin[((*af - 1) << 1) + 2] + 1, i__2 = (*af - 2) * *
lframe + 1;
203 lrange =
max(i__1,i__2);
206 for (osptr1 = *osptr - 1; osptr1 >= 1; --osptr1) {
207 if (osbuf[osptr1] <= hrange) {
214 if (osptr1 <= 1 || osbuf[osptr1 - 1] < lrange) {
216 i__1 = vwin[((*af - 1) << 1) + 2] + 1;
217 vwin[(*af << 1) + 1] =
max(i__1,*dvwinl);
218 vwin[(*af << 1) + 2] = vwin[(*af << 1) + 1] + *maxwin - 1;
223 for (q = osptr1 - 1; q >= 1; --q) {
224 if (osbuf[q] < lrange) {
233 for (i__ = q + 1; i__ <= i__1; ++i__) {
234 if (osbuf[i__] - osbuf[q] >= *minwin) {
242 i__1 = (*af - 1) * *
lframe, i__2 = lrange + *minwin - 1;
243 if (! crit && osbuf[q] >
max(i__1,i__2)) {
244 vwin[(*af << 1) + 2] = osbuf[q] - 1;
246 i__1 = lrange, i__2 = vwin[(*af << 1) + 2] - *maxwin + 1;
247 vwin[(*af << 1) + 1] =
max(i__1,i__2);
251 vwin[(*af << 1) + 1] = osbuf[q];
257 if (osbuf[q] > vwin[(*af << 1) + 1] + *maxwin) {
260 if (osbuf[q] < vwin[(*af << 1) + 1] + *minwin) {
263 vwin[(*af << 1) + 2] = osbuf[q] - 1;
268 i__1 = vwin[(*af << 1) + 1] + *maxwin - 1;
269 vwin[(*af << 1) + 2] =
min(i__1,hrange);