xref: /csrg-svn/usr.bin/pascal/libpc/CARD.c (revision 1641)
1*1641Smckusick /* Copyright (c) 1979 Regents of the University of California */
2*1641Smckusick 
3*1641Smckusick static char sccsid[] = "@(#)CARD.c 1.1 10/30/80";
4*1641Smckusick 
5*1641Smckusick char _cntbl[] = {
6*1641Smckusick 	0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4,
7*1641Smckusick 	1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
8*1641Smckusick 	1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
9*1641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
10*1641Smckusick 	1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
11*1641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
12*1641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
13*1641Smckusick 	3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
14*1641Smckusick 	1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
15*1641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
16*1641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
17*1641Smckusick 	3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
18*1641Smckusick 	2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
19*1641Smckusick 	3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
20*1641Smckusick 	3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
21*1641Smckusick 	4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8
22*1641Smckusick 	};
23*1641Smckusick 
24*1641Smckusick CARD(setptr, size)
25*1641Smckusick 
26*1641Smckusick 	register unsigned char	*setptr;
27*1641Smckusick 	register int		size;
28*1641Smckusick {
29*1641Smckusick 	register int	cnt;
30*1641Smckusick 
31*1641Smckusick 	cnt = 0;
32*1641Smckusick 	do {
33*1641Smckusick 		cnt += _cntbl[*setptr++];
34*1641Smckusick 	} while (--size);
35*1641Smckusick 	return cnt;
36*1641Smckusick }
37