1025 |
} \ |
} \ |
1026 |
while (0) |
while (0) |
1027 |
|
|
1028 |
|
/* Value is the key part of entry IDX in hash table H. */ |
1029 |
|
|
1030 |
|
#define HASH_KEY(H, IDX) AREF ((H)->key_and_value, 2 * (IDX)) |
1031 |
|
|
1032 |
|
/* Value is the value part of entry IDX in hash table H. */ |
1033 |
|
|
1034 |
|
#define HASH_VALUE(H, IDX) AREF ((H)->key_and_value, 2 * (IDX) + 1) |
1035 |
|
|
1036 |
|
/* Value is the index of the next entry following the one at IDX |
1037 |
|
in hash table H. */ |
1038 |
|
|
1039 |
|
#define HASH_NEXT(H, IDX) AREF ((H)->next, (IDX)) |
1040 |
|
|
1041 |
|
/* Value is the hash code computed for entry IDX in hash table H. */ |
1042 |
|
|
1043 |
|
#define HASH_HASH(H, IDX) AREF ((H)->hash, (IDX)) |
1044 |
|
|
1045 |
|
/* Value is the index of the element in hash table H that is the |
1046 |
|
start of the collision list at index IDX in the index vector of H. */ |
1047 |
|
|
1048 |
|
#define HASH_INDEX(H, IDX) AREF ((H)->index, (IDX)) |
1049 |
|
|
1050 |
|
/* Value is the size of hash table H. */ |
1051 |
|
|
1052 |
|
#define HASH_TABLE_SIZE(H) XVECTOR ((H)->next)->size |
1053 |
|
|
1054 |
/* Default size for hash tables if not specified. */ |
/* Default size for hash tables if not specified. */ |
1055 |
|
|
1056 |
#define DEFAULT_HASH_SIZE 65 |
#define DEFAULT_HASH_SIZE 65 |