xref: /csrg-svn/usr.bin/pascal/libpc/INCT.c (revision 1659)
1*1659Smckusick /* Copyright (c) 1979 Regents of the University of California */
2*1659Smckusick 
3*1659Smckusick static char sccsid[] = "@(#)INCT.c 1.1 10/30/80";
4*1659Smckusick 
5*1659Smckusick #include "h00vars.h"
6*1659Smckusick 
7*1659Smckusick INCT(element, paircnt, singcnt, data)
8*1659Smckusick 
9*1659Smckusick 	register int	element;	/* element to find */
10*1659Smckusick 	int		paircnt;	/* number of pairs to check */
11*1659Smckusick 	int		singcnt;	/* number of singles to check */
12*1659Smckusick 	int		data;		/* paircnt plus singcnt bounds */
13*1659Smckusick {
14*1659Smckusick 	register int	*dataptr;
15*1659Smckusick 	register int	cnt;
16*1659Smckusick 
17*1659Smckusick 	dataptr = &data;
18*1659Smckusick 	for (cnt = 0; cnt < paircnt; cnt++) {
19*1659Smckusick 		if (element > *dataptr++) {
20*1659Smckusick 			dataptr++;
21*1659Smckusick 			continue;
22*1659Smckusick 		}
23*1659Smckusick 		if (element >= *dataptr++) {
24*1659Smckusick 			return TRUE;
25*1659Smckusick 		}
26*1659Smckusick 	}
27*1659Smckusick 	for (cnt = 0; cnt < singcnt; cnt++) {
28*1659Smckusick 		if (element == *dataptr++) {
29*1659Smckusick 			return TRUE;
30*1659Smckusick 		}
31*1659Smckusick 	}
32*1659Smckusick 	return FALSE;
33*1659Smckusick }
34