xref: /csrg-svn/usr.bin/pascal/libpc/IN.c (revision 3007)
11658Smckusick /* Copyright (c) 1979 Regents of the University of California */
21658Smckusick 
3*3007Smckusic static char sccsid[] = "@(#)IN.c 1.2 03/07/81";
41658Smckusick 
51658Smckusick #include "h00vars.h"
61658Smckusick 
7*3007Smckusic bool
81658Smckusick IN(element, lower, upper, setptr)
91658Smckusick 
10*3007Smckusic 	long	element;	/* element to check */
11*3007Smckusic 	long	lower;		/* lowest element of set */
12*3007Smckusic 	long	upper;		/* upper - lower of set */
131658Smckusick 	char	setptr[];	/* pointer to set */
141658Smckusick {
15*3007Smckusic 	register int	indx;
161658Smckusick 
171658Smckusick 	if ((indx = element - lower) < 0 || indx > upper)
181658Smckusick 		return FALSE;
19*3007Smckusic 	if (setptr[indx >> LG2BITSBYTE] & (1 << (indx & MSKBITSBYTE)))
201658Smckusick 		return TRUE;
211658Smckusick 	return FALSE;
221658Smckusick }
23