]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/hash.cc
* Another grand 2003 update.
[lilypond.git] / flower / hash.cc
index b541681e87364a77be3de64f1d35fc5d45d092cd..78ae587747c1a7498e0456f5974de3d42b289365 100644 (file)
@@ -1,3 +1,11 @@
+/*   
+  hash.cc --  implement various functions for hash tables.
+  
+  source file of the Flower Library
+  
+  (c)  1999--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
 #include "string.hh"
 #include "array.hh"
 #include "dictionary.hh"
@@ -6,6 +14,7 @@
 // Note: assumes long is at least 32 bits.
 const unsigned long my_prime_list[] = 
 {
+  5, 11, 23,                   // be a bit careful for short lists: we want reasonable mem usage.
   53,         97,         193,       389,       769,
   1543,       3079,       6151,      12289,     24593,
   49157,      98317,      196613,    393241,    786433,
@@ -14,14 +23,16 @@ const unsigned long my_prime_list[] =
   1610612741u, 3221225473u, 4294967291u
 };
 
-unsigned long prime_list (int idx)
+unsigned long
+prime_list (int idx)
 {
   return my_prime_list [idx];
 }
 
-unsigned int hash (String s)
+unsigned int
+string_hash (String s)
 {
-  const char* str = s.ch_C ();
+  const char* str = s.to_str0 ();
   unsigned int result = 0;
   while (1) {
     char c = *str++;
@@ -32,12 +43,15 @@ unsigned int hash (String s)
 }
 
 
-unsigned int hash (unsigned int i)
+unsigned int
+hash (unsigned int i)
 {
   return i;
 }
 
-unsigned int hash (int i)
+unsigned int
+int_hash (int i)
 {
   return (unsigned) i;
 }
+