Changeset View
Changeset View
Standalone View
Standalone View
contrib/mg/hash.c
- This file was added.
/* DO NOT EDIT | |||||
* Automatically generated from term.h */ | |||||
#if HAVE_NBTOOL_CONFIG_H | |||||
#include "nbtool_config.h" | |||||
#endif | |||||
#include <stdint.h> | |||||
#include <stdlib.h> | |||||
#include <string.h> | |||||
#include "term_private.h" | |||||
#include "terminfo_term.h" | |||||
#ifndef __arraycount | |||||
#define __arraycount(__x) (sizeof(__x) / sizeof(__x[0])) | |||||
#endif | |||||
extern void mi_vector_hash(const void * __restrict, size_t, uint32_t, | |||||
uint32_t[3]); | |||||
static const char _ti_flagids[][6] = { | |||||
"bw", | |||||
"am", | |||||
"bce", | |||||
"ccc", | |||||
"xhp", | |||||
"xhpa", | |||||
"cpix", | |||||
"crxm", | |||||
"xt", | |||||
"xenl", | |||||
"eo", | |||||
"gn", | |||||
"hc", | |||||
"chts", | |||||
"km", | |||||
"daisy", | |||||
"hs", | |||||
"hls", | |||||
"in", | |||||
"lpix", | |||||
"da", | |||||
"db", | |||||
"mir", | |||||
"msgr", | |||||
"nxon", | |||||
"xsb", | |||||
"npc", | |||||
"ndscr", | |||||
"nrrmc", | |||||
"os", | |||||
"mc5i", | |||||
"xvpa", | |||||
"sam", | |||||
"eslok", | |||||
"hz", | |||||
"ul", | |||||
"xon", | |||||
}; | |||||
#include <stdlib.h> | |||||
static uint32_t | |||||
_ti_flaghash(const void * __restrict key, size_t keylen) | |||||
{ | |||||
static const uint8_t g[75] = { | |||||
0x13, 0x06, 0x00, 0x17, 0x1f, 0x20, 0x23, 0x00, 0x00, 0x12, | |||||
0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x0d, 0x22, 0x00, | |||||
0x00, 0x00, 0x00, 0x0b, 0x00, 0x11, 0x02, 0x03, 0x18, 0x00, | |||||
0x00, 0x00, 0x00, 0x15, 0x00, 0x22, 0x02, 0x09, 0x04, 0x08, | |||||
0x00, 0x00, 0x00, 0x0d, 0x00, 0x1f, 0x22, 0x24, 0x1b, 0x19, | |||||
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, | |||||
0x00, 0x16, 0x00, 0x18, 0x1d, 0x17, 0x00, 0x00, 0x0f, 0x07, | |||||
0x00, 0x00, 0x00, 0x00, 0x05, | |||||
}; | |||||
uint32_t h[3]; | |||||
mi_vector_hash(key, keylen, 0x00000000U, h); | |||||
return (g[h[0] % 75] + g[h[1] % 75]) % 37; | |||||
} | |||||
const char * | |||||
_ti_flagid(ssize_t idx) | |||||
{ | |||||
if ((size_t)idx >= __arraycount(_ti_flagids)) | |||||
return NULL; | |||||
return _ti_flagids[idx]; | |||||
} | |||||
ssize_t | |||||
_ti_flagindex(const char *key) | |||||
{ | |||||
uint32_t idx; | |||||
idx = _ti_flaghash((const unsigned char *)key, strlen(key)); | |||||
if (idx >= __arraycount(_ti_flagids) || | |||||
strcmp(key, _ti_flagids[idx]) != 0) | |||||
return -1; | |||||
return idx; | |||||
} | |||||
static const char _ti_numids[][7] = { | |||||
"bitwin", | |||||
"bitype", | |||||
"bufsz", | |||||
"btns", | |||||
"cols", | |||||
"spinh", | |||||
"spinv", | |||||
"it", | |||||
"lh", | |||||
"lw", | |||||
"lines", | |||||
"lm", | |||||
"ma", | |||||
"xmc", | |||||
"colors", | |||||
"maddr", | |||||
"mjump", | |||||
"pairs", | |||||
"wnum", | |||||
"mcs", | |||||
"mls", | |||||
"ncv", | |||||
"nlab", | |||||
"npins", | |||||
"orc", | |||||
"orl", | |||||
"orhi", | |||||
"orvi", | |||||
"pb", | |||||
"cps", | |||||
"vt", | |||||
"widcs", | |||||
"wsl", | |||||
}; | |||||
#include <stdlib.h> | |||||
static uint32_t | |||||
_ti_numhash(const void * __restrict key, size_t keylen) | |||||
{ | |||||
static const uint8_t g[67] = { | |||||
0x0b, 0x01, 0x16, 0x00, 0x00, 0x11, 0x1b, 0x00, 0x00, 0x00, | |||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1b, 0x01, 0x00, 0x05, | |||||
0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |||||
0x00, 0x18, 0x04, 0x02, 0x00, 0x0f, 0x00, 0x02, 0x1f, 0x06, | |||||
0x15, 0x00, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, | |||||
0x06, 0x00, 0x00, 0x11, 0x0d, 0x1e, 0x19, 0x0a, 0x00, 0x06, | |||||
0x00, 0x04, 0x1c, 0x00, 0x10, 0x00, 0x0c, | |||||
}; | |||||
uint32_t h[3]; | |||||
mi_vector_hash(key, keylen, 0x00000000U, h); | |||||
return (g[h[0] % 67] + g[h[1] % 67]) % 33; | |||||
} | |||||
const char * | |||||
_ti_numid(ssize_t idx) | |||||
{ | |||||
if ((size_t)idx >= __arraycount(_ti_numids)) | |||||
return NULL; | |||||
return _ti_numids[idx]; | |||||
} | |||||
ssize_t | |||||
_ti_numindex(const char *key) | |||||
{ | |||||
uint32_t idx; | |||||
idx = _ti_numhash((const unsigned char *)key, strlen(key)); | |||||
if (idx >= __arraycount(_ti_numids) || | |||||
strcmp(key, _ti_numids[idx]) != 0) | |||||
return -1; | |||||
return idx; | |||||
} | |||||
static const char _ti_strids[][9] = { | |||||
"acsc", | |||||
"scesa", | |||||
"cbt", | |||||
"bel", | |||||
"bicr", | |||||
"binel", | |||||
"birep", | |||||
"cr", | |||||
"cpi", | |||||
"lpi", | |||||
"chr", | |||||
"cvr", | |||||
"csr", | |||||
"rmp", | |||||
"csnm", | |||||
"tbc", | |||||
"mgc", | |||||
"clear", | |||||
"el1", | |||||
"el", | |||||
"ed", | |||||
"csin", | |||||
"colornm", | |||||
"hpa", | |||||
"cmdch", | |||||
"cwin", | |||||
"cup", | |||||
"cud1", | |||||
"home", | |||||
"civis", | |||||
"cub1", | |||||
"mrcup", | |||||
"cnorm", | |||||
"cuf1", | |||||
"ll", | |||||
"cuu1", | |||||
"cvvis", | |||||
"defbi", | |||||
"defc", | |||||
"dch1", | |||||
"dl1", | |||||
"devt", | |||||
"dial", | |||||
"dsl", | |||||
"dclk", | |||||
"dispc", | |||||
"hd", | |||||
"enacs", | |||||
"endbi", | |||||
"smacs", | |||||
"smam", | |||||
"blink", | |||||
"bold", | |||||
"smcup", | |||||
"smdc", | |||||
"dim", | |||||
"swidm", | |||||
"sdrfq", | |||||
"ehhlm", | |||||
"smir", | |||||
"sitm", | |||||
"elhlm", | |||||
"slm", | |||||
"elohlm", | |||||
"smicm", | |||||
"snlq", | |||||
"snrmq", | |||||
"smpch", | |||||
"prot", | |||||
"rev", | |||||
"erhlm", | |||||
"smsc", | |||||
"invis", | |||||
"sshm", | |||||
"smso", | |||||
"ssubm", | |||||
"ssupm", | |||||
"ethlm", | |||||
"smul", | |||||
"sum", | |||||
"evhlm", | |||||
"smxon", | |||||
"ech", | |||||
"rmacs", | |||||
"rmam", | |||||
"sgr0", | |||||
"rmcup", | |||||
"rmdc", | |||||
"rwidm", | |||||
"rmir", | |||||
"ritm", | |||||
"rlm", | |||||
"rmicm", | |||||
"rmpch", | |||||
"rmsc", | |||||
"rshm", | |||||
"rmso", | |||||
"rsubm", | |||||
"rsupm", | |||||
"rmul", | |||||
"rum", | |||||
"rmxon", | |||||
"pause", | |||||
"hook", | |||||
"flash", | |||||
"ff", | |||||
"fsl", | |||||
"getm", | |||||
"wingo", | |||||
"hup", | |||||
"is1", | |||||
"is2", | |||||
"is3", | |||||
"if", | |||||
"iprog", | |||||
"initc", | |||||
"initp", | |||||
"ich1", | |||||
"il1", | |||||
"ip", | |||||
"ka1", | |||||
"ka3", | |||||
"kb2", | |||||
"kbs", | |||||
"kbeg", | |||||
"kcbt", | |||||
"kc1", | |||||
"kc3", | |||||
"kcan", | |||||
"ktbc", | |||||
"kclr", | |||||
"kclo", | |||||
"kcmd", | |||||
"kcpy", | |||||
"kcrt", | |||||
"kctab", | |||||
"kdch1", | |||||
"kdl1", | |||||
"kcud1", | |||||
"krmir", | |||||
"kend", | |||||
"kent", | |||||
"kel", | |||||
"ked", | |||||
"kext", | |||||
"kf0", | |||||
"kf1", | |||||
"kf2", | |||||
"kf3", | |||||
"kf4", | |||||
"kf5", | |||||
"kf6", | |||||
"kf7", | |||||
"kf8", | |||||
"kf9", | |||||
"kf10", | |||||
"kf11", | |||||
"kf12", | |||||
"kf13", | |||||
"kf14", | |||||
"kf15", | |||||
"kf16", | |||||
"kf17", | |||||
"kf18", | |||||
"kf19", | |||||
"kf20", | |||||
"kf21", | |||||
"kf22", | |||||
"kf23", | |||||
"kf24", | |||||
"kf25", | |||||
"kf26", | |||||
"kf27", | |||||
"kf28", | |||||
"kf29", | |||||
"kf30", | |||||
"kf31", | |||||
"kf32", | |||||
"kf33", | |||||
"kf34", | |||||
"kf35", | |||||
"kf36", | |||||
"kf37", | |||||
"kf38", | |||||
"kf39", | |||||
"kf40", | |||||
"kf41", | |||||
"kf42", | |||||
"kf43", | |||||
"kf44", | |||||
"kf45", | |||||
"kf46", | |||||
"kf47", | |||||
"kf48", | |||||
"kf49", | |||||
"kf50", | |||||
"kf51", | |||||
"kf52", | |||||
"kf53", | |||||
"kf54", | |||||
"kf55", | |||||
"kf56", | |||||
"kf57", | |||||
"kf58", | |||||
"kf59", | |||||
"kf60", | |||||
"kf61", | |||||
"kf62", | |||||
"kf63", | |||||
"kfnd", | |||||
"khlp", | |||||
"khome", | |||||
"kich1", | |||||
"kil1", | |||||
"kcub1", | |||||
"kll", | |||||
"kmrk", | |||||
"kmsg", | |||||
"kmous", | |||||
"kmov", | |||||
"knxt", | |||||
"knp", | |||||
"kopn", | |||||
"kopt", | |||||
"kpp", | |||||
"kprv", | |||||
"kprt", | |||||
"krdo", | |||||
"kref", | |||||
"krfr", | |||||
"krpl", | |||||
"krst", | |||||
"kres", | |||||
"kcuf1", | |||||
"ksav", | |||||
"kBEG", | |||||
"kCAN", | |||||
"kCMD", | |||||
"kCPY", | |||||
"kCRT", | |||||
"kDC", | |||||
"kDL", | |||||
"kslt", | |||||
"kEND", | |||||
"kEOL", | |||||
"kEXT", | |||||
"kind", | |||||
"kFND", | |||||
"kHLP", | |||||
"kHOM", | |||||
"kIC", | |||||
"kLFT", | |||||
"kMSG", | |||||
"kMOV", | |||||
"kNXT", | |||||
"kOPT", | |||||
"kPRV", | |||||
"kPRT", | |||||
"kri", | |||||
"kRDO", | |||||
"kRPL", | |||||
"kRIT", | |||||
"kRES", | |||||
"kSAV", | |||||
"kSPD", | |||||
"khts", | |||||
"kUND", | |||||
"kspd", | |||||
"kund", | |||||
"kcuu1", | |||||
"rmkx", | |||||
"smkx", | |||||
"lf0", | |||||
"lf1", | |||||
"lf2", | |||||
"lf3", | |||||
"lf4", | |||||
"lf5", | |||||
"lf6", | |||||
"lf7", | |||||
"lf8", | |||||
"lf9", | |||||
"lf10", | |||||
"fln", | |||||
"rmln", | |||||
"smln", | |||||
"rmm", | |||||
"smm", | |||||
"mhpa", | |||||
"mcud1", | |||||
"mcub1", | |||||
"mcuf1", | |||||
"mvpa", | |||||
"mcuu1", | |||||
"minfo", | |||||
"nel", | |||||
"porder", | |||||
"oc", | |||||
"op", | |||||
"pad", | |||||
"dch", | |||||
"dl", | |||||
"cud", | |||||
"mcud", | |||||
"ich", | |||||
"indn", | |||||
"il", | |||||
"cub", | |||||
"mcub", | |||||
"cuf", | |||||
"mcuf", | |||||
"rin", | |||||
"cuu", | |||||
"mcuu", | |||||
"pctrm", | |||||
"pfkey", | |||||
"pfloc", | |||||
"pfxl", | |||||
"pfx", | |||||
"pln", | |||||
"mc0", | |||||
"mc5p", | |||||
"mc4", | |||||
"mc5", | |||||
"pulse", | |||||
"qdial", | |||||
"rmclk", | |||||
"rep", | |||||
"rfi", | |||||
"reqmp", | |||||
"rs1", | |||||
"rs2", | |||||
"rs3", | |||||
"rf", | |||||
"rc", | |||||
"vpa", | |||||
"sc", | |||||
"scesc", | |||||
"ind", | |||||
"ri", | |||||
"scs", | |||||
"s0ds", | |||||
"s1ds", | |||||
"s2ds", | |||||
"s3ds", | |||||
"sgr1", | |||||
"setab", | |||||
"setaf", | |||||
"sgr", | |||||
"setb", | |||||
"smgb", | |||||
"smgbp", | |||||
"sclk", | |||||
"setcolor", | |||||
"scp", | |||||
"setf", | |||||
"smgl", | |||||
"smglp", | |||||
"smglr", | |||||
"slines", | |||||
"slength", | |||||
"smgr", | |||||
"smgrp", | |||||
"hts", | |||||
"smgtb", | |||||
"smgt", | |||||
"smgtp", | |||||
"wind", | |||||
"sbim", | |||||
"scsd", | |||||
"rbim", | |||||
"rcsd", | |||||
"subcs", | |||||
"supcs", | |||||
"ht", | |||||
"docr", | |||||
"tsl", | |||||
"tone", | |||||
"u0", | |||||
"u1", | |||||
"u2", | |||||
"u3", | |||||
"u4", | |||||
"u5", | |||||
"u6", | |||||
"u7", | |||||
"u8", | |||||
"u9", | |||||
"uc", | |||||
"hu", | |||||
"wait", | |||||
"xoffc", | |||||
"xonc", | |||||
"zerom", | |||||
}; | |||||
#include <stdlib.h> | |||||
static uint32_t | |||||
_ti_strhash(const void * __restrict key, size_t keylen) | |||||
{ | |||||
static const uint16_t g[789] = { | |||||
0x0000, 0x0000, 0x0000, 0x0081, 0x003c, 0x0000, 0x00db, 0x0123, | |||||
0x0000, 0x0045, 0x0000, 0x0000, 0x0000, 0x00b1, 0x0131, 0x0096, | |||||
0x0000, 0x006a, 0x0160, 0x0000, 0x0172, 0x0138, 0x0000, 0x0000, | |||||
0x00a4, 0x00bd, 0x0127, 0x0084, 0x0067, 0x0109, 0x008f, 0x0000, | |||||
0x0000, 0x017c, 0x0000, 0x0053, 0x0156, 0x0000, 0x0000, 0x0000, | |||||
0x00b3, 0x0000, 0x00b9, 0x0096, 0x0058, 0x00b6, 0x00fc, 0x0000, | |||||
0x0058, 0x0000, 0x017d, 0x0000, 0x0006, 0x0000, 0x011f, 0x0000, | |||||
0x0000, 0x00bb, 0x0021, 0x0151, 0x00c7, 0x008c, 0x0000, 0x0058, | |||||
0x008a, 0x011a, 0x0093, 0x0000, 0x0000, 0x0000, 0x013e, 0x0163, | |||||
0x0000, 0x0000, 0x0000, 0x0047, 0x0110, 0x00be, 0x0000, 0x001e, | |||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00b1, 0x0000, 0x0000, | |||||
0x0000, 0x0000, 0x00c5, 0x0034, 0x0181, 0x00be, 0x0094, 0x0000, | |||||
0x0103, 0x002a, 0x0072, 0x0000, 0x0000, 0x0000, 0x0085, 0x0000, | |||||
0x00d5, 0x0000, 0x0000, 0x0000, 0x00c3, 0x0158, 0x00f6, 0x0000, | |||||
0x00e3, 0x0000, 0x0076, 0x0055, 0x016c, 0x0000, 0x008b, 0x0013, | |||||
0x0000, 0x0000, 0x0183, 0x0000, 0x016a, 0x0152, 0x0183, 0x0013, | |||||
0x0000, 0x0000, 0x0032, 0x0043, 0x006c, 0x012c, 0x0000, 0x0000, | |||||
0x0155, 0x0073, 0x0000, 0x0000, 0x0168, 0x0000, 0x0000, 0x0000, | |||||
0x0078, 0x001b, 0x00d2, 0x0020, 0x0000, 0x0000, 0x0015, 0x0000, | |||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0090, 0x00fb, 0x0007, 0x0000, | |||||
0x0000, 0x00ee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00c2, | |||||
0x0095, 0x0034, 0x0089, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | |||||
0x0000, 0x0000, 0x0022, 0x00b9, 0x0173, 0x0157, 0x0000, 0x0000, | |||||
0x0000, 0x0129, 0x0000, 0x000f, 0x0000, 0x0000, 0x0000, 0x0000, | |||||
0x0000, 0x0000, 0x0000, 0x0000, 0x00ef, 0x0000, 0x0000, 0x00a4, | |||||
0x0000, 0x0000, 0x0000, 0x0168, 0x00ec, 0x0000, 0x0000, 0x0000, | |||||
0x0000, 0x016d, 0x0000, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, | |||||
0x00e3, 0x0000, 0x0000, 0x0000, 0x00d1, 0x0000, 0x0000, 0x006b, | |||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0063, | |||||
0x0000, 0x004b, 0x0175, 0x00ab, 0x011f, 0x0000, 0x0000, 0x003d, | |||||
0x0000, 0x0105, 0x007a, 0x013e, 0x0000, 0x013b, 0x0127, 0x000a, | |||||
0x00ee, 0x0044, 0x0068, 0x013d, 0x008d, 0x0000, 0x0000, 0x0000, | |||||
0x012a, 0x00f8, 0x0077, 0x0000, 0x0000, 0x0048, 0x0000, 0x0155, | |||||
0x0000, 0x0107, 0x0159, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | |||||
0x0000, 0x0073, 0x010f, 0x0166, 0x00fa, 0x0117, 0x0000, 0x0034, | |||||
0x0000, 0x0000, 0x00d0, 0x0000, 0x001d, 0x012f, 0x0000, 0x0000, | |||||
0x017e, 0x0019, 0x0000, 0x0087, 0x0000, 0x0000, 0x013e, 0x013a, | |||||
0x0000, 0x0125, 0x0000, 0x0023, 0x014b, 0x0000, 0x0000, 0x0000, | |||||
0x009d, 0x0133, 0x0000, 0x0000, 0x017d, 0x0000, 0x0000, 0x0000, | |||||
0x0081, 0x0183, 0x0000, 0x0000, 0x0000, 0x00b7, 0x0000, 0x0000, | |||||
0x0000, 0x012a, 0x0112, 0x0000, 0x0000, 0x0102, 0x0000, 0x0074, | |||||
0x0000, 0x0000, 0x012d, 0x0179, 0x00aa, 0x0000, 0x00be, 0x0000, | |||||
0x0000, 0x0164, 0x0161, 0x002c, 0x0030, 0x0000, 0x00ae, 0x013f, | |||||
0x00ba, 0x0075, 0x0000, 0x00bd, 0x0000, 0x0086, 0x0000, 0x0000, | |||||
0x0188, 0x008e, 0x0000, 0x00e1, 0x007f, 0x0000, 0x0116, 0x0000, | |||||
0x0000, 0x0000, 0x011a, 0x015a, 0x0000, 0x00a0, 0x0000, 0x0000, | |||||
0x0000, 0x0000, 0x0076, 0x0000, 0x000d, 0x0044, 0x016e, 0x0000, | |||||
0x0000, 0x0000, 0x0000, 0x0000, 0x011d, 0x00aa, 0x0064, 0x0010, | |||||
0x0000, 0x003e, 0x0000, 0x0000, 0x0117, 0x00a4, 0x0063, 0x0000, | |||||
0x012b, 0x0000, 0x0000, 0x012b, 0x0031, 0x0074, 0x0044, 0x0000, | |||||
0x017f, 0x0017, 0x0179, 0x0041, 0x0000, 0x004c, 0x0041, 0x0000, | |||||
0x0061, 0x000d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0064, | |||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a2, 0x0000, 0x00a3, | |||||
0x011b, 0x014e, 0x0000, 0x00be, 0x0000, 0x006e, 0x00d3, 0x0000, | |||||
0x0000, 0x0000, 0x0180, 0x0000, 0x00a1, 0x0000, 0x0000, 0x00e6, | |||||
0x0000, 0x0000, 0x0089, 0x0000, 0x0000, 0x00d0, 0x009f, 0x0032, | |||||
0x0000, 0x0000, 0x00e8, 0x00d9, 0x0000, 0x0002, 0x004b, 0x0000, | |||||
0x0000, 0x0129, 0x0000, 0x016b, 0x0104, 0x0163, 0x0000, 0x0000, | |||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0165, 0x0000, | |||||
0x0000, 0x0000, 0x0155, 0x0017, 0x00c3, 0x0069, 0x0000, 0x00e2, | |||||
0x0000, 0x0000, 0x0000, 0x0092, 0x0000, 0x00b0, 0x0045, 0x0107, | |||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | |||||
0x0103, 0x0000, 0x0000, 0x0000, 0x0034, 0x0000, 0x0130, 0x0000, | |||||
0x0000, 0x00cb, 0x0000, 0x0000, 0x0138, 0x00e7, 0x009a, 0x0000, | |||||
0x0000, 0x0000, 0x0000, 0x0119, 0x0000, 0x0000, 0x0120, 0x0000, | |||||
0x00c0, 0x012a, 0x008e, 0x0000, 0x0012, 0x014a, 0x0000, 0x0000, | |||||
0x0000, 0x009c, 0x0000, 0x00fc, 0x0000, 0x0121, 0x001f, 0x016b, | |||||
0x0000, 0x0000, 0x0021, 0x00fd, 0x0022, 0x00af, 0x0051, 0x0000, | |||||
0x00d6, 0x0000, 0x0000, 0x00d0, 0x010e, 0x0000, 0x0000, 0x00c1, | |||||
0x0159, 0x0000, 0x00b8, 0x0000, 0x0000, 0x010f, 0x0024, 0x0115, | |||||
0x0109, 0x0000, 0x001b, 0x0000, 0x00b5, 0x00d8, 0x0039, 0x00de, | |||||
0x0000, 0x008f, 0x011d, 0x004a, 0x0000, 0x00a5, 0x00ea, 0x0144, | |||||
0x0000, 0x0027, 0x016f, 0x014e, 0x000b, 0x002c, 0x014b, 0x000a, | |||||
0x0046, 0x00b3, 0x00bb, 0x0180, 0x0000, 0x0000, 0x0157, 0x0000, | |||||
0x0057, 0x0000, 0x0000, 0x00d1, 0x0181, 0x00d1, 0x0000, 0x0000, | |||||
0x0000, 0x0000, 0x0078, 0x00e3, 0x0000, 0x0000, 0x0000, 0x0036, | |||||
0x00d0, 0x0000, 0x0000, 0x0000, 0x0065, 0x0140, 0x0000, 0x0000, | |||||
0x0000, 0x006f, 0x00a4, 0x0107, 0x0000, 0x0000, 0x0000, 0x0046, | |||||
0x0000, 0x00b4, 0x015b, 0x0000, 0x004d, 0x0000, 0x0000, 0x0000, | |||||
0x0041, 0x0111, 0x00ff, 0x0000, 0x0000, 0x0000, 0x00a5, 0x0086, | |||||
0x007d, 0x0162, 0x0000, 0x00f5, 0x0000, 0x0080, 0x0079, 0x0000, | |||||
0x0000, 0x0000, 0x0000, 0x00a6, 0x00e7, 0x0172, 0x0000, 0x0000, | |||||
0x00dd, 0x0000, 0x001e, 0x0136, 0x0000, 0x0000, 0x00fb, 0x00e6, | |||||
0x0099, 0x0159, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ff, 0x0000, | |||||
0x0000, 0x014b, 0x0000, 0x0000, 0x0000, 0x000b, 0x0000, 0x0000, | |||||
0x017d, 0x0000, 0x009a, 0x012e, 0x0135, 0x0000, 0x0000, 0x015c, | |||||
0x0171, 0x0000, 0x0000, 0x0036, 0x010f, 0x000b, 0x0171, 0x00f9, | |||||
0x0000, 0x0000, 0x00cb, 0x0000, 0x0000, 0x0000, 0x005a, 0x0091, | |||||
0x0000, 0x0135, 0x004c, 0x0118, 0x0000, 0x0000, 0x0000, 0x0138, | |||||
0x0000, 0x0000, 0x016e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | |||||
0x0041, 0x0000, 0x00b1, 0x0119, 0x0000, 0x0111, 0x0111, 0x0146, | |||||
0x0059, 0x0005, 0x0000, 0x0000, 0x0186, 0x0000, 0x014a, 0x00df, | |||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a, 0x015f, | |||||
0x0000, 0x0000, 0x0000, 0x0163, 0x0000, 0x0000, 0x000c, 0x0000, | |||||
0x0000, 0x00dd, 0x0000, 0x0000, 0x00f9, 0x0000, 0x0000, 0x0164, | |||||
0x0176, 0x00bf, 0x0133, 0x0032, 0x013a, 0x0000, 0x0000, 0x0000, | |||||
0x0000, 0x0088, 0x015d, 0x00b8, 0x0078, 0x005b, 0x0000, 0x0027, | |||||
0x017e, 0x0000, 0x007c, 0x011f, 0x0000, 0x0000, 0x0169, 0x0000, | |||||
0x00f2, 0x0000, 0x00b2, 0x00e1, 0x010d, | |||||
}; | |||||
uint32_t h[3]; | |||||
mi_vector_hash(key, keylen, 0x00000001U, h); | |||||
return (g[h[0] % 789] + g[h[1] % 789]) % 394; | |||||
} | |||||
const char * | |||||
_ti_strid(ssize_t idx) | |||||
{ | |||||
if ((size_t)idx >= __arraycount(_ti_strids)) | |||||
return NULL; | |||||
return _ti_strids[idx]; | |||||
} | |||||
ssize_t | |||||
_ti_strindex(const char *key) | |||||
{ | |||||
uint32_t idx; | |||||
idx = _ti_strhash((const unsigned char *)key, strlen(key)); | |||||
if (idx >= __arraycount(_ti_strids) || | |||||
strcmp(key, _ti_strids[idx]) != 0) | |||||
return -1; | |||||
return idx; | |||||
} |