X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=include%2Fhash.h;fp=include%2Fhash.h;h=caac5f181985fe66a757c3892f486720c9ecc5c9;hp=9821b44b70311859b33abc1d0d8006c6058ad0e8;hb=2b0ff8e75f11c5fb58e16e95d8195d6f1252c97c;hpb=e24285f0509319319aef28a188b7c01ba7e22bf1 diff --git a/include/hash.h b/include/hash.h index 9821b44..caac5f1 100644 --- a/include/hash.h +++ b/include/hash.h @@ -1,6 +1,10 @@ #ifndef YACASL2_HASH_INCLUDED #define YACASL2_HASH_INCLUDED +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + /* ハッシュ共用体の型 */ typedef enum { CHARS = 0, @@ -16,6 +20,9 @@ typedef struct { } val; } HKEY; +/* ハッシュ表のサイズを決めるため、引数の数値未満で最大の素数を返す */ +int hashtabsize(int size); + /* ハッシュ値を取得する */ unsigned hash(int keyc, HKEY *keyv[], int tabsize);