/[hurd]/hurd-l4/libhurd-ihash/ChangeLog
ViewVC logotype

Diff of /hurd-l4/libhurd-ihash/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by marcus, Sun Aug 17 05:47:32 2003 UTC revision 1.4 by marcus, Tue Aug 26 22:47:18 2003 UTC
# Line 1  Line 1 
1    2003-08-26  Marcus Brinkmann  <marcus@g10code.de>
2    
3            * ihash.h: Include <limits.h>.
4            (HURD_IHASH_NO_LOCP): New macro.
5            (HURD_IHASH_INITIALIZER): Take locp offset as argument.
6            Initialize HT->nr_items, HT->max_load and HT->locp_offset.
7            (HURD_IHASH_MAX_LOAD_DEFAULT): New macro.
8            (struct _hurd_ihash_item): New structure.
9            (_hurd_ihash_item_t): New type.
10            (struct hurd_ihash): New fields NR_ITEMS, ITEMS, LOCP_OFFSET and
11            MAX_LOAD.  Remove KEYS, TABLE and LOCPS.
12            (hurd_ihash_set_max_load): New function.
13            (HURD_IHASH_ITERATE): Rewrite to use ITEMS instead TABLE and KEYS.
14            (hurd_ihash_init): Take locp_offs argument in prototype.
15            (hurd_ihash_create): Likewise.
16            (hurd_ihash_add): Don't take locp argument in prototype.
17            (hurd_ihash_set_max_load): New prototype.
18            * ihash.c (HASH, REHASH): Macros removed.
19            (ihash_sizes): Change table to list prime numbers that are 3
20            modulo 4.
21            (index_empty): Use HT->items instead HT->table.
22            (index_valid): Likewise.
23            (find_index): Use quadratic probing.
24            (locp_remove): New helper function.
25            (hurd_ihash_init): Take locp_offs as argument.  Initialize
26            HT->locp_offset, HT->nr_items and HT->max_load.
27            (hurd_ihash_destroy): Free HT->items, but not anything else.
28            (hurd_ihash_create): Take locp_offs as argument and pass it to
29            hurd_ihash_init.
30            (hurd_ihash_set_max_load): New function.
31            (add_one): Don't take a locp argument anymore.  Use quadratic
32            probing.  Call locp_remove instead duplicating the code.
33            Increment HT->nr_items.
34            (hurd_ihash_add): Don't take a locp argument anymore.  Check
35            maximum load factor before adding element.  Use ITEMS and not KEYS
36            and TABLE.  Don't allocate memory for locp.  Use calloc instead of
37            malloc and initialization.
38            (hurd_ihash_remove): Call locp_remove instead hurd_ihash_locp_remove.
39            (hurd_ihash_locp_remove): Call locp_remove.
40            
41  2003-08-17  Marcus Brinkmann  <marcus@gnu.org>  2003-08-17  Marcus Brinkmann  <marcus@gnu.org>
42    
43          * ihash.h (HURD_IHASH_INITIALIZER): New macro.          * ihash.h (HURD_IHASH_INITIALIZER): New macro.

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26