Doxygen Source Code Documentation
hasher.c File Reference
#include <stdio.h>Go to the source code of this file.
Defines | |
| #define | UINT unsigned int |
| #define | SLOTS 8191 |
Functions | |
| UINT | hasher (char *str) |
| int | main (int argc, char *argv[]) |
Define Documentation
|
|
Definition at line 5 of file hasher.c. Referenced by hasher(). |
|
|
|
Function Documentation
|
|
Definition at line 12 of file hasher.c. Referenced by main().
00013 {
00014 UINT hh , jj,kk ; char *cpt ;
00015
00016 if( str == NULL ) return 0 ;
00017 if( str[0] == '\0' ) return 1 ;
00018
00019 hh = 0 ;
00020 for( cpt=str ; *cpt != '\0' ; cpt++ ){
00021 jj = (65537*(UINT)(*cpt)) ; cpt++ ;
00022 kk = 17389*(UINT)(*cpt) ;
00023 hh = 13*hh + (jj << 8) + kk ;
00024 if( *cpt == '\0' ) break ;
00025 }
00026
00027 hh = ((hh & 0xaaaaaaaa) >> 1) /* swap bits */
00028 | ((hh & 0x55555555) << 1) ;
00029
00030 return (hh % SLOTS) ;
00031 }
|
|
||||||||||||
|
\** File : SUMA.c
Input paramters :
Definition at line 33 of file hasher.c. References argc, hasher(), and UINT.
|