Blame src/unicode_fold2_key.c

Packit b89d10
/* This file was converted by gperf_fold_key_conv.py
Packit b89d10
      from gperf output file. */
Packit b89d10
/* ANSI-C code produced by gperf version 3.0.4 */
Packit b89d10
/* Command-line: gperf -n -C -T -c -t -j1 -L ANSI-C -F,-1 -N unicode_fold2_key unicode_fold2_key.gperf  */
Packit b89d10
/* Computed positions: -k'3,6' */
Packit b89d10
Packit b89d10
Packit b89d10
Packit b89d10
/* This gperf source file was generated by make_unicode_fold_data.py */
Packit b89d10
#include <string.h>
Packit b89d10
#include "regenc.h"
Packit b89d10
Packit b89d10
#define TOTAL_KEYWORDS 59
Packit b89d10
#define MIN_WORD_LENGTH 6
Packit b89d10
#define MAX_WORD_LENGTH 6
Packit b89d10
#define MIN_HASH_VALUE 0
Packit b89d10
#define MAX_HASH_VALUE 58
Packit b89d10
/* maximum key range = 59, duplicates = 0 */
Packit b89d10
Packit b89d10
#ifdef __GNUC__
Packit b89d10
__inline
Packit b89d10
#else
Packit b89d10
#ifdef __cplusplus
Packit b89d10
inline
Packit b89d10
#endif
Packit b89d10
#endif
Packit b89d10
/*ARGSUSED*/
Packit b89d10
static unsigned int
Packit b89d10
hash(OnigCodePoint codes[])
Packit b89d10
{
Packit b89d10
  static const unsigned char asso_values[] =
Packit b89d10
    {
Packit b89d10
      58, 57, 56, 55, 54, 53, 52, 16, 50, 59,
Packit b89d10
      15, 59, 25, 59, 59, 59, 59, 59, 59,  3,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 49, 48, 47, 46, 45, 44, 43, 42,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 21,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59,  2, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59, 40, 20, 39, 38,
Packit b89d10
      37, 14,  5, 36, 20,  7, 25, 34, 29, 32,
Packit b89d10
      16, 59, 31, 59, 59,  2,  1, 59, 25, 15,
Packit b89d10
      59, 14, 59, 59, 28, 59,  2, 59, 59, 59,
Packit b89d10
      11, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 24, 59, 22, 59, 59, 11, 59, 59,
Packit b89d10
      59, 59, 59,  7, 59,  0, 59, 59, 16, 59,
Packit b89d10
       1, 59, 59, 16, 59, 59, 59, 15, 59, 59,
Packit b89d10
      59,  6, 59, 59, 59, 59,  0, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
Packit b89d10
      59, 59, 59, 59, 59, 59
Packit b89d10
    };
Packit b89d10
  return asso_values[(unsigned char)onig_codes_byte_at(codes, 5)] + asso_values[(unsigned char)onig_codes_byte_at(codes, 2)];
Packit b89d10
}
Packit b89d10
Packit b89d10
#ifdef __GNUC__
Packit b89d10
__inline
Packit b89d10
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
Packit b89d10
__attribute__ ((__gnu_inline__))
Packit b89d10
#endif
Packit b89d10
#endif
Packit b89d10
int
Packit b89d10
unicode_fold2_key(OnigCodePoint codes[])
Packit b89d10
{
Packit b89d10
  static const short int wordlist[] =
Packit b89d10
    {
Packit b89d10
Packit b89d10
      101,
Packit b89d10
Packit b89d10
      253,
Packit b89d10
Packit b89d10
      76,
Packit b89d10
Packit b89d10
      29,
Packit b89d10
Packit b89d10
      24,
Packit b89d10
Packit b89d10
      239,
Packit b89d10
Packit b89d10
      96,
Packit b89d10
Packit b89d10
      71,
Packit b89d10
Packit b89d10
      92,
Packit b89d10
Packit b89d10
      67,
Packit b89d10
Packit b89d10
      4,
Packit b89d10
Packit b89d10
      62,
Packit b89d10
Packit b89d10
      8,
Packit b89d10
Packit b89d10
      58,
Packit b89d10
Packit b89d10
      234,
Packit b89d10
Packit b89d10
      109,
Packit b89d10
Packit b89d10
      164,
Packit b89d10
Packit b89d10
      88,
Packit b89d10
Packit b89d10
      84,
Packit b89d10
Packit b89d10
      80,
Packit b89d10
Packit b89d10
      214,
Packit b89d10
Packit b89d10
      0,
Packit b89d10
Packit b89d10
      54,
Packit b89d10
Packit b89d10
      261,
Packit b89d10
Packit b89d10
      50,
Packit b89d10
Packit b89d10
      105,
Packit b89d10
Packit b89d10
      121,
Packit b89d10
Packit b89d10
      125,
Packit b89d10
Packit b89d10
      257,
Packit b89d10
Packit b89d10
      42,
Packit b89d10
Packit b89d10
      38,
Packit b89d10
Packit b89d10
      249,
Packit b89d10
Packit b89d10
      46,
Packit b89d10
Packit b89d10
      117,
Packit b89d10
Packit b89d10
      12,
Packit b89d10
Packit b89d10
      113,
Packit b89d10
Packit b89d10
      244,
Packit b89d10
Packit b89d10
      229,
Packit b89d10
Packit b89d10
      224,
Packit b89d10
Packit b89d10
      219,
Packit b89d10
Packit b89d10
      209,
Packit b89d10
Packit b89d10
      16,
Packit b89d10
Packit b89d10
      204,
Packit b89d10
Packit b89d10
      199,
Packit b89d10
Packit b89d10
      194,
Packit b89d10
Packit b89d10
      189,
Packit b89d10
Packit b89d10
      184,
Packit b89d10
Packit b89d10
      179,
Packit b89d10
Packit b89d10
      174,
Packit b89d10
Packit b89d10
      169,
Packit b89d10
Packit b89d10
      20,
Packit b89d10
Packit b89d10
      34,
Packit b89d10
Packit b89d10
      159,
Packit b89d10
Packit b89d10
      154,
Packit b89d10
Packit b89d10
      149,
Packit b89d10
Packit b89d10
      144,
Packit b89d10
Packit b89d10
      139,
Packit b89d10
Packit b89d10
      134,
Packit b89d10
Packit b89d10
      129
Packit b89d10
    };
Packit b89d10
Packit b89d10
  if (0 == 0)
Packit b89d10
    {
Packit b89d10
      int key = hash(codes);
Packit b89d10
Packit b89d10
      if (key <= MAX_HASH_VALUE && key >= 0)
Packit b89d10
        {
Packit b89d10
          int index = wordlist[key];
Packit b89d10
Packit b89d10
          if (index >= 0 && onig_codes_cmp(codes, OnigUnicodeFolds2 + index, 2) == 0)
Packit b89d10
            return index;
Packit b89d10
        }
Packit b89d10
    }
Packit b89d10
  return -1;
Packit b89d10
}
Packit b89d10
Packit b89d10