Blame src/unicode_fold3_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_fold3_key unicode_fold3_key.gperf  */
Packit b89d10
/* Computed positions: -k'3,6,9' */
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 14
Packit b89d10
#define MIN_WORD_LENGTH 9
Packit b89d10
#define MAX_WORD_LENGTH 9
Packit b89d10
#define MIN_HASH_VALUE 0
Packit b89d10
#define MAX_HASH_VALUE 13
Packit b89d10
/* maximum key range = 14, 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
       6,  3, 14, 14, 14, 14, 14, 14,  1, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14,  0,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14,  0, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14,  4, 14, 14,  5, 14, 14,  4, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 10, 14, 14,
Packit b89d10
      14, 14, 14,  9, 14,  1, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14,  0, 14, 14,
Packit b89d10
      14,  8, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Packit b89d10
      14, 14, 14, 14, 14, 14
Packit b89d10
    };
Packit b89d10
  return asso_values[(unsigned char)onig_codes_byte_at(codes, 8)] + 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_fold3_key(OnigCodePoint codes[])
Packit b89d10
{
Packit b89d10
  static const short int wordlist[] =
Packit b89d10
    {
Packit b89d10
Packit b89d10
      62,
Packit b89d10
Packit b89d10
      47,
Packit b89d10
Packit b89d10
      31,
Packit b89d10
Packit b89d10
      57,
Packit b89d10
Packit b89d10
      41,
Packit b89d10
Packit b89d10
      25,
Packit b89d10
Packit b89d10
      52,
Packit b89d10
Packit b89d10
      36,
Packit b89d10
Packit b89d10
      20,
Packit b89d10
Packit b89d10
      67,
Packit b89d10
Packit b89d10
      15,
Packit b89d10
Packit b89d10
      10,
Packit b89d10
Packit b89d10
      5,
Packit b89d10
Packit b89d10
      0
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, OnigUnicodeFolds3 + index, 3) == 0)
Packit b89d10
            return index;
Packit b89d10
        }
Packit b89d10
    }
Packit b89d10
  return -1;
Packit b89d10
}
Packit b89d10
Packit b89d10