Blame src/unicode_fold2_key.c

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