1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 
  24 
  25 
  26 
  27 
  28 #define header_0 16
  29 #define header_2 9
  30 #define header_3 127
  31 #define header_4 15
  32 static const
  33 struct
  34   {
  35     int header[1];
  36     int level1[2];
  37     short level2[2 << 7];
  38     unsigned int level3[16 << 4];
  39   }
  40 u_is_lower =
  41 {
  42   { 2 },
  43   {
  44         3 * sizeof (int) / sizeof (short) +     0,
  45         3 * sizeof (int) / sizeof (short) +   128
  46   },
  47   {
  48         3 +   256 * sizeof (short) / sizeof (int) +     0,
  49         3 +   256 * sizeof (short) / sizeof (int) +    16,
  50         3 +   256 * sizeof (short) / sizeof (int) +    32,
  51        -1,
  52        -1,
  53        -1,
  54        -1,
  55        -1,
  56        -1,
  57         3 +   256 * sizeof (short) / sizeof (int) +    48,
  58        -1,
  59        -1,
  60        -1,
  61        -1,
  62         3 +   256 * sizeof (short) / sizeof (int) +    64,
  63         3 +   256 * sizeof (short) / sizeof (int) +    80,
  64         3 +   256 * sizeof (short) / sizeof (int) +    96,
  65        -1,
  66         3 +   256 * sizeof (short) / sizeof (int) +   112,
  67        -1,
  68        -1,
  69        -1,
  70         3 +   256 * sizeof (short) / sizeof (int) +   128,
  71        -1,
  72        -1,
  73        -1,
  74        -1,
  75        -1,
  76        -1,
  77        -1,
  78        -1,
  79        -1,
  80        -1,
  81        -1,
  82        -1,
  83        -1,
  84        -1,
  85        -1,
  86        -1,
  87        -1,
  88        -1,
  89        -1,
  90        -1,
  91        -1,
  92        -1,
  93        -1,
  94        -1,
  95        -1,
  96        -1,
  97        -1,
  98        -1,
  99        -1,
 100        -1,
 101        -1,
 102        -1,
 103        -1,
 104        -1,
 105        -1,
 106        -1,
 107        -1,
 108        -1,
 109        -1,
 110        -1,
 111        -1,
 112        -1,
 113        -1,
 114        -1,
 115        -1,
 116        -1,
 117        -1,
 118        -1,
 119        -1,
 120        -1,
 121        -1,
 122        -1,
 123        -1,
 124        -1,
 125        -1,
 126        -1,
 127        -1,
 128        -1,
 129        -1,
 130        -1,
 131         3 +   256 * sizeof (short) / sizeof (int) +   144,
 132        -1,
 133         3 +   256 * sizeof (short) / sizeof (int) +   160,
 134        -1,
 135        -1,
 136        -1,
 137        -1,
 138        -1,
 139        -1,
 140        -1,
 141        -1,
 142        -1,
 143        -1,
 144        -1,
 145        -1,
 146        -1,
 147        -1,
 148        -1,
 149        -1,
 150        -1,
 151        -1,
 152        -1,
 153        -1,
 154        -1,
 155        -1,
 156        -1,
 157        -1,
 158        -1,
 159        -1,
 160        -1,
 161        -1,
 162        -1,
 163        -1,
 164        -1,
 165        -1,
 166        -1,
 167        -1,
 168        -1,
 169        -1,
 170        -1,
 171        -1,
 172        -1,
 173        -1,
 174        -1,
 175         3 +   256 * sizeof (short) / sizeof (int) +   176,
 176        -1,
 177        -1,
 178         3 +   256 * sizeof (short) / sizeof (int) +   192,
 179        -1,
 180        -1,
 181        -1,
 182         3 +   256 * sizeof (short) / sizeof (int) +   208,
 183        -1,
 184        -1,
 185        -1,
 186        -1,
 187        -1,
 188         3 +   256 * sizeof (short) / sizeof (int) +   224,
 189        -1,
 190        -1,
 191        -1,
 192        -1,
 193        -1,
 194        -1,
 195        -1,
 196        -1,
 197        -1,
 198        -1,
 199        -1,
 200        -1,
 201        -1,
 202        -1,
 203        -1,
 204        -1,
 205        -1,
 206        -1,
 207        -1,
 208        -1,
 209        -1,
 210        -1,
 211        -1,
 212        -1,
 213        -1,
 214        -1,
 215        -1,
 216        -1,
 217        -1,
 218        -1,
 219        -1,
 220        -1,
 221        -1,
 222        -1,
 223        -1,
 224        -1,
 225        -1,
 226        -1,
 227        -1,
 228        -1,
 229        -1,
 230        -1,
 231        -1,
 232        -1,
 233        -1,
 234        -1,
 235        -1,
 236        -1,
 237        -1,
 238        -1,
 239        -1,
 240        -1,
 241        -1,
 242        -1,
 243        -1,
 244        -1,
 245        -1,
 246        -1,
 247        -1,
 248        -1,
 249        -1,
 250        -1,
 251        -1,
 252        -1,
 253        -1,
 254        -1,
 255        -1,
 256        -1,
 257        -1,
 258        -1,
 259        -1,
 260        -1,
 261        -1,
 262        -1,
 263        -1,
 264        -1,
 265        -1,
 266        -1,
 267        -1,
 268        -1,
 269        -1,
 270        -1,
 271        -1,
 272        -1,
 273        -1,
 274        -1,
 275        -1,
 276        -1,
 277        -1,
 278        -1,
 279        -1,
 280        -1,
 281        -1,
 282        -1,
 283        -1,
 284        -1,
 285        -1,
 286        -1,
 287        -1,
 288        -1,
 289        -1,
 290        -1,
 291        -1,
 292         3 +   256 * sizeof (short) / sizeof (int) +   240,
 293        -1,
 294        -1,
 295        -1,
 296        -1,
 297        -1,
 298        -1,
 299        -1,
 300        -1,
 301        -1,
 302        -1,
 303        -1
 304   },
 305   {
 306     0x00000000U, 0x00000000U, 0x00000000U, 0x07FFFFFEU,
 307     0x00000000U, 0x00200000U, 0x80000000U, 0xFF7FFFFFU,
 308     0xAAAAAAAAU, 0x54AAAAAAU, 0xAAAAA955U, 0xD4AAAAAAU,
 309     0x46241129U, 0xA251212AU, 0xB5555B60U, 0xAA2CAAAAU,
 310     0xAAAAAAAAU, 0x900AAAA8U, 0x1ADFAA85U, 0x20269F6BU,
 311     0x60041F89U, 0x00000000U, 0x00000000U, 0x00000000U,
 312     0x00000000U, 0x00000000U, 0x00000020U, 0x388A0000U,
 313     0x00000000U, 0xFFFEF000U, 0xAAE37FFFU, 0x092FAAAAU,
 314     0x00000000U, 0xFFFF0000U, 0xFFFFFFFFU, 0xAAAAAAAAU,
 315     0xAAAAA802U, 0xAAAAAAAAU, 0xAAAAD554U, 0xAAAAAAAAU,
 316     0xAAAAAAAAU, 0x0000AAAAU, 0x00000000U, 0xFFFFFFFEU,
 317     0x0000007FU, 0x00000000U, 0x00000000U, 0x00000000U,
 318     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 319     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 320     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 321     0x00000000U, 0x00000000U, 0x00000000U, 0x3F000000U,
 322     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 323     0x000001FFU, 0x00000000U, 0x00000000U, 0x00000000U,
 324     0x00000000U, 0x00000000U, 0x00000000U, 0x22000000U,
 325     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 326     0xAAAAAAAAU, 0xAAAAAAAAU, 0xAAAAAAAAU, 0xAAAAAAAAU,
 327     0x082AAAAAU, 0xAAAAAAAAU, 0xAAAAAAAAU, 0xAAAAAAAAU,
 328     0x003F00FFU, 0x00FF00FFU, 0x00AA003FU, 0x3FFF00FFU,
 329     0x00FF00FFU, 0x400B00FFU, 0x00030008U, 0x00080023U,
 330     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 331     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 332     0x00000000U, 0x00000000U, 0x00004000U, 0xFFFF0000U,
 333     0x00000010U, 0x00000000U, 0x00000000U, 0x00000000U,
 334     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 335     0x00000000U, 0x00000000U, 0xFFFF0000U, 0x000003FFU,
 336     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 337     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 338     0x00000000U, 0xFFFF0000U, 0x7FFFFFFFU, 0x00481562U,
 339     0xAAAAAAAAU, 0xAAAAAAAAU, 0xAAAAAAAAU, 0x0008500AU,
 340     0xFFFFFFFFU, 0x000020BFU, 0x00000000U, 0x00000000U,
 341     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 342     0x00000000U, 0x00000000U, 0xAAAAAAAAU, 0x00002AAAU,
 343     0x0AAAAAAAU, 0x00000000U, 0x00000000U, 0x00000000U,
 344     0x00000000U, 0xAAA8AAA8U, 0xAAAAAAAAU, 0x9400AAAAU,
 345     0xAA8A10AAU, 0x00A002AAU, 0x00000000U, 0x00000000U,
 346     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 347     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 348     0x00000000U, 0x00000000U, 0x00080000U, 0xFFFF0000U,
 349     0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000000U, 0x00000000U,
 350     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 351     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 352     0x00000000U, 0x00000000U, 0x07FFFFFEU, 0x00000000U,
 353     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 354     0x00000000U, 0xFFFFFF00U, 0x0000FFFFU, 0x00000000U,
 355     0x00000000U, 0x00000000U, 0xFF000000U, 0x0FFFFFFFU,
 356     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 357     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 358     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 359     0x00000000U, 0x00000000U, 0xFFFFFFFFU, 0x0007FFFFU,
 360     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 361     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 362     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 363     0x00000000U, 0x00000000U, 0xFFFFFFFFU, 0x00000000U,
 364     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 365     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 366     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 367     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
 368     0x00000000U, 0xFFFFFFFCU, 0x0000000FU, 0x00000000U,
 369     0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U
 370   }
 371 };