#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include "hash.h"
#include "math.h"
Go to the source code of this file.
|  | 
| int | d1eq (void *key1, void *key2) | 
|  | 
| hashtable * | ht_create (int size, ht_keycp cp, ht_keyeq eq, ht_key2hash hash) | 
|  | 
| void | ht_destroy (hashtable *table) | 
|  | 
| void * | ht_insert (hashtable *table, void *key, void *data) | 
|  | 
| void * | ht_find (hashtable *table, void *key) | 
|  | 
| void * | ht_delete (hashtable *table, void *key) | 
|  | 
| void | ht_process (hashtable *table, void(*func)(void *)) | 
|  | 
| static unsigned int | strhash (void *key) | 
|  | 
| static void * | strcp (void *key) | 
|  | 
| static int | streq (void *key1, void *key2) | 
|  | 
| static unsigned int | d1hash (void *key) | 
|  | 
| static void * | d1cp (void *key) | 
|  | 
| static unsigned int | d2hash (void *key) | 
|  | 
| static void * | d2cp (void *key) | 
|  | 
| static int | d2eq (void *key1, void *key2) | 
|  | 
| hashtable * | ht_create_d1 (int size) | 
|  | 
| hashtable * | ht_create_d2 (int size) | 
|  | 
| hashtable * | ht_create_str (int size) | 
|  | 
◆ INT_PER_DOUBLE
◆ ht_bucket
◆ d1cp()
  
  | 
        
          | static void* d1cp | ( | void * | key | ) |  |  | static | 
 
 
◆ d1eq()
      
        
          | int d1eq | ( | void * | key1, | 
        
          |  |  | void * | key2 | 
        
          |  | ) |  |  | 
      
 
 
◆ d1hash()
  
  | 
        
          | static unsigned int d1hash | ( | void * | key | ) |  |  | static | 
 
 
◆ d2cp()
  
  | 
        
          | static void* d2cp | ( | void * | key | ) |  |  | static | 
 
 
◆ d2eq()
  
  | 
        
          | static int d2eq | ( | void * | key1, |  
          |  |  | void * | key2 |  
          |  | ) |  |  |  | static | 
 
 
◆ d2hash()
  
  | 
        
          | static unsigned int d2hash | ( | void * | key | ) |  |  | static | 
 
 
◆ ht_create()
◆ ht_create_d1()
◆ ht_create_d2()
◆ ht_create_str()
◆ ht_delete()
      
        
          | void* ht_delete | ( | hashtable * | table, | 
        
          |  |  | void * | key | 
        
          |  | ) |  |  | 
      
 
 
◆ ht_destroy()
◆ ht_find()
      
        
          | void* ht_find | ( | hashtable * | table, | 
        
          |  |  | void * | key | 
        
          |  | ) |  |  | 
      
 
 
◆ ht_insert()
      
        
          | void* ht_insert | ( | hashtable * | table, | 
        
          |  |  | void * | key, | 
        
          |  |  | void * | data | 
        
          |  | ) |  |  | 
      
 
 
◆ ht_process()
      
        
          | void ht_process | ( | hashtable * | table, | 
        
          |  |  | void(*)(void *) | func | 
        
          |  | ) |  |  | 
      
 
 
◆ strcp()
  
  | 
        
          | static void* strcp | ( | void * | key | ) |  |  | static | 
 
 
◆ streq()
  
  | 
        
          | static int streq | ( | void * | key1, |  
          |  |  | void * | key2 |  
          |  | ) |  |  |  | static | 
 
 
◆ strhash()
  
  | 
        
          | static unsigned int strhash | ( | void * | key | ) |  |  | static |