1. Added a standard header to each code module and removed obsolete comments. 2. Re-named several of the sub-structs in the project struct and re-arranged some of their contents. 3. Re-named _defaultModel to _defaultProject. 4. Removed the need to call EN_createproject and EN_deleteproject when working with the default project. 5. Made X & Y coords. part of Snode properties instead of a separate struct. 6. Moved the non-API functions in epanet.c into a new module named project.c. 7. Re-factored the quality module so that it uses the same nodal adjacency lists as the hydraulics solver. 8. Re-factored the sparse matrix module (smatrix.c) to be more memory efficient. 9. Restricted line lengths to < 90 columns. 10. Grouped the placement of functions in EPANET2.H and EPANET.C by category.
29 lines
866 B
C
Executable File
29 lines
866 B
C
Executable File
/*
|
|
******************************************************************************
|
|
Project: OWA EPANET
|
|
Version: 2.2
|
|
Module: hash.h
|
|
Description: header for a simple hash table
|
|
Authors: see AUTHORS
|
|
Copyright: see AUTHORS
|
|
License: see LICENSE
|
|
Last Updated: 11/27/2018
|
|
******************************************************************************
|
|
*/
|
|
#ifndef HASH_H
|
|
#define HASH_H
|
|
|
|
#define NOTFOUND 0
|
|
|
|
typedef struct DataEntryStruct *HashTable;
|
|
|
|
HashTable *hashtable_create(void);
|
|
int hashtable_insert(HashTable *, char *, int);
|
|
int hashtable_find(HashTable *, char *);
|
|
char *hashtable_findkey(HashTable *, char *);
|
|
void hashtable_free(HashTable *);
|
|
int hashtable_update(HashTable *ht, char *key, int new_data);
|
|
int hashtable_delete(HashTable *ht, char *key);
|
|
|
|
#endif
|