xref: /csrg-svn/usr.bin/pascal/libpc/INCT.c (revision 62092)
140865Sbostic /*-
2*62092Sbostic  * Copyright (c) 1979, 1993
3*62092Sbostic  *	The Regents of the University of California.  All rights reserved.
440865Sbostic  *
540865Sbostic  * %sccs.include.redist.c%
640865Sbostic  */
71659Smckusick 
840865Sbostic #ifndef lint
9*62092Sbostic static char sccsid[] = "@(#)INCT.c	8.1 (Berkeley) 06/06/93";
1040865Sbostic #endif /* not lint */
111659Smckusick 
121659Smckusick #include "h00vars.h"
131659Smckusick 
143008Smckusic bool
INCT(element,paircnt,singcnt,data)151659Smckusick INCT(element, paircnt, singcnt, data)
161659Smckusick 
173008Smckusic 	register long	element;	/* element to find */
183008Smckusic 	long		paircnt;	/* number of pairs to check */
193008Smckusic 	long		singcnt;	/* number of singles to check */
203008Smckusic 	long		data;		/* paircnt plus singcnt bounds */
211659Smckusick {
223008Smckusic 	register long	*dataptr = &data;
231659Smckusick 	register int	cnt;
241659Smckusick 
251659Smckusick 	for (cnt = 0; cnt < paircnt; cnt++) {
261659Smckusick 		if (element > *dataptr++) {
271659Smckusick 			dataptr++;
281659Smckusick 			continue;
291659Smckusick 		}
301659Smckusick 		if (element >= *dataptr++) {
311659Smckusick 			return TRUE;
321659Smckusick 		}
331659Smckusick 	}
341659Smckusick 	for (cnt = 0; cnt < singcnt; cnt++) {
351659Smckusick 		if (element == *dataptr++) {
361659Smckusick 			return TRUE;
371659Smckusick 		}
381659Smckusick 	}
391659Smckusick 	return FALSE;
401659Smckusick }
41