|
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 |
|