genpar.c revision 1.6 1 1.6 chopps /* $NetBSD: genpar.c,v 1.6 1995/02/16 21:57:31 chopps Exp $ */
2 1.6 chopps
3 1.6 chopps /*
4 1.6 chopps * Copyright (c) 1993 Markus Wild
5 1.6 chopps * All rights reserved.
6 1.6 chopps *
7 1.6 chopps * Redistribution and use in source and binary forms, with or without
8 1.6 chopps * modification, are permitted provided that the following conditions
9 1.6 chopps * are met:
10 1.6 chopps * 1. Redistributions of source code must retain the above copyright
11 1.6 chopps * notice, this list of conditions and the following disclaimer.
12 1.6 chopps * 2. Redistributions in binary form must reproduce the above copyright
13 1.6 chopps * notice, this list of conditions and the following disclaimer in the
14 1.6 chopps * documentation and/or other materials provided with the distribution.
15 1.6 chopps * 3. All advertising materials mentioning features or use of this software
16 1.6 chopps * must display the following acknowledgement:
17 1.6 chopps * This product includes software developed by Markus Wild.
18 1.6 chopps * 4. The name of the author may not be used to endorse or promote products
19 1.6 chopps * derived from this software without specific prior written permission
20 1.6 chopps *
21 1.6 chopps * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22 1.6 chopps * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 1.6 chopps * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 1.6 chopps * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25 1.6 chopps * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 1.6 chopps * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 1.6 chopps * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 1.6 chopps * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 1.6 chopps * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30 1.6 chopps * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 1.6 chopps */
32 1.4 chopps
33 1.1 mw #define bset(i,b) ((i & (1<<b))?1:0)
34 1.1 mw
35 1.1 mw main()
36 1.1 mw {
37 1.6 chopps int i;
38 1.6 chopps unsigned char par;
39 1.1 mw
40 1.6 chopps printf("u_char even_parity[] = {\n\t");
41 1.6 chopps for (i = 0; i < 0x80; i++) {
42 1.6 chopps par = bset(i,0) + bset(i,1) + bset(i,2) + bset(i,3)
43 1.6 chopps + bset(i,4) + bset(i,5) + bset(i,6) + bset(i,7);
44 1.6 chopps printf("%2d, ", par & 1);
45 1.6 chopps if ((i & 15) == 15)
46 1.6 chopps printf("\n\t");
47 1.6 chopps }
48 1.6 chopps printf("};\n");
49 1.1 mw }
50