Initial commit
[cgperf.git] / tests / permutc2.exp
blob32aff6b5a15f4b13da9ed20c699009c0c42f2b56
1 /* ANSI-C code produced by gperf version 3.1 */
2 /* Command-line: ../src/gperf -m5 --ignore-case */
3 /* Computed positions: -k'1-2' */
5 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
6 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
7 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
8 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
9 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
10 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
11 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
12 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
13 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
14 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
15 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
16 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
17 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
18 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
19 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
20 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
21 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
22 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
23 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
24 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
25 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
26 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
27 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
28 /* The character set is not based on ISO-646. */
29 #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
30 #endif
33 /* Test of a hash function which has to deal with permutation and
34 case-independence. Without case-independence, the alpha_inc is 1.
35 With case-independence, the alpha_inc is 3. */
37 #define TOTAL_KEYWORDS 8
38 #define MIN_WORD_LENGTH 2
39 #define MAX_WORD_LENGTH 2
40 #define MIN_HASH_VALUE 0
41 #define MAX_HASH_VALUE 7
42 /* maximum key range = 8, duplicates = 0 */
44 #ifndef GPERF_DOWNCASE
45 #define GPERF_DOWNCASE 1
46 static unsigned char gperf_downcase[256] =
48 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
49 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
50 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
51 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
52 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
53 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
54 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
55 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
56 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
57 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
58 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
59 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
60 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
61 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
62 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
63 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
64 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
65 255
67 #endif
69 #ifndef GPERF_CASE_STRCMP
70 #define GPERF_CASE_STRCMP 1
71 static int
72 gperf_case_strcmp (register const char *s1, register const char *s2)
74 for (;;)
76 unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
77 unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
78 if (c1 != 0 && c1 == c2)
79 continue;
80 return (int)c1 - (int)c2;
83 #endif
85 #ifdef __GNUC__
86 __inline
87 #else
88 #ifdef __cplusplus
89 inline
90 #endif
91 #endif
92 /*ARGSUSED*/
93 static unsigned int
94 hash (register const char *str, register size_t len)
96 static unsigned char asso_values[] =
98 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
99 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
100 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
101 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
102 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
103 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
104 8, 8, 8, 8, 8, 1, 8, 8, 3, 8,
105 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
106 8, 8, 8, 8, 8, 8, 8, 8, 3, 1,
107 0, 7, 1, 0, 3, 8, 8, 1, 8, 8,
108 3, 8, 8, 8, 8, 8, 8, 8, 8, 8,
109 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
110 3, 1, 0, 0, 1, 0, 2, 8, 8, 8,
111 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
112 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
113 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
114 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
115 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
116 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
117 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
118 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
119 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
120 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
121 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
122 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
123 8, 8, 8, 8, 8, 8, 8, 8, 8
125 return asso_values[(unsigned char)str[1]+3] + asso_values[(unsigned char)str[0]];
128 const char *
129 in_word_set (register const char *str, register size_t len)
131 static const char * wordlist[] =
133 "{w",
134 "az",
135 "ay",
136 "za",
137 "ya",
138 "x{",
139 "x[",
140 "[w"
143 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
145 register unsigned int key = hash (str, len);
147 if (key <= MAX_HASH_VALUE)
149 register const char *s = wordlist[key];
151 if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strcmp (str, s))
152 return s;
155 return 0;