lua/hash.h
Waldemar Celes b28da81cfe Alteracao do hash, trocando tratamento de colisao por lista
pela estrategia de re-hash.
Foi feito uma avaliacao da funcao de hash, e constatado sua
eficiencia com uma media de 4 acessos no hash ate' 70% ocupado.
1994-08-09 08:24:45 -03:00

34 lines
585 B
C

/*
** hash.h
** hash manager for lua
** Luiz Henrique de Figueiredo - 17 Aug 90
** $Id: hash.h,v 2.2 1994/08/05 19:25:09 celes Exp celes $
*/
#ifndef hash_h
#define hash_h
typedef struct node
{
Object ref;
Object val;
} Node;
typedef struct Hash
{
char mark;
unsigned int nhash;
unsigned int nuse;
Node *node;
} Hash;
Hash *lua_createarray (int nhash);
void lua_hashmark (Hash *h);
void lua_hashcollector (void);
Object *lua_hashget (Hash *t, Object *ref);
Object *lua_hashdefine (Hash *t, Object *ref);
void lua_next (void);
#endif