xref: /csrg-svn/usr.bin/pascal/libpc/CARD.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  */
71641Smckusick 
840865Sbostic #ifndef lint
9*62092Sbostic static char sccsid[] = "@(#)CARD.c	8.1 (Berkeley) 06/06/93";
1040865Sbostic #endif /* not lint */
111641Smckusick 
121641Smckusick char _cntbl[] = {
131641Smckusick 	0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4,
141641Smckusick 	1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
151641Smckusick 	1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
161641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
171641Smckusick 	1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
181641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
191641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
201641Smckusick 	3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
211641Smckusick 	1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
221641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
231641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
241641Smckusick 	3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
251641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
261641Smckusick 	3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
271641Smckusick 	3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
281641Smckusick 	4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8
291641Smckusick 	};
301641Smckusick 
312996Smckusic long
CARD(setptr,siz)322996Smckusic CARD(setptr, siz)
331641Smckusick 
341641Smckusick 	register unsigned char	*setptr;
352996Smckusic 	long		siz;
361641Smckusick {
371641Smckusick 	register int	cnt;
382996Smckusic 	register int	size = siz;
391641Smckusick 
401641Smckusick 	cnt = 0;
411641Smckusick 	do {
421641Smckusick 		cnt += _cntbl[*setptr++];
431641Smckusick 	} while (--size);
441641Smckusick 	return cnt;
451641Smckusick }
46