Ignore:
Timestamp:
Apr 21, 2012, 7:14:33 PM (7 years ago)
Author:
ksherdy
Message:

Fixed table resize.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/symbol_table/src/hash_table.hpp

    r2031 r2040  
    5151public:
    5252
    53     hash_table(const uint32_t table_size=1024, const uint32_t load_factor=2) {
     53    hash_table(const uint32_t table_size=1024, const uint32_t resize_chain_lgth=2) {
    5454        #ifdef HASH_TABLE_HPP_DEBUG
    5555            lookups = 0;
     
    5858            table_expansions = 0;
    5959        #endif
    60         init(table_size,load_factor);
     60        init(table_size,resize_chain_lgth);
    6161    }
    6262
     
    134134            #endif
    135135
    136             expand();
     136             expand();
    137137        }
    138138
     
    210210    uint32_t table_size;            // power of 2
    211211    uint32_t hash_size;             // maximum number of bits hashed on
    212     uint32_t resize_chain_lgth;     // maximum chain length
     212    uint32_t resize_chain_lgth; // maximum chain length
    213213
    214214    node ** table;
     
    235235    void init(const uint32_t size, const uint32_t chain_lgth) {
    236236
    237         hash_size = MIN((log2msb(size)),hash_strategy.max_hashsize());
     237        hash_size = MIN((log2msb(size)), hash_strategy.max_hashsize());
    238238        table_size = pow(2.0, (double)hash_size);
    239239        table = (node**) calloc(table_size, sizeof(node*));
     
    280280                &&  (table_size < MAX_TABLE_SIZE))
    281281        {
    282 
    283282            return true;
    284283        }
     
    301300
    302301            while(crt != NULL) {
     302
     303
    303304                bucket = this->get_bucket(crt->h0,
    304305                                          crt->h1,
     
    310311                             crt->h0,
    311312                             crt->h1,
    312                             crt->hash_bit_lgth,
     313                                crt->hash_bit_lgth,
    313314                             crt->gid);
    314315
     
    325326            }
    326327        }
     328
    327329    }
    328330
Note: See TracChangeset for help on using the changeset viewer.