Another hashing algorithm. In the words of a great mind in computer science, "don't even ask why."
The idea of this project is to create an efficient, multi-purpose string hashing function. That may be misleading, multi-purpose in that it can be used for different size projects, few hashes and lots of hashes, so I suppose a better term might be adaptable.
If you know case size for using this hash table, you can include a size of how big you think the table of values will get, in the initialization of the map.
I've got a sequence of algorithms that I've been working on over the last few years to handle hashing.
It's one of those things that irks me. I understand taking 10% of the time to do 90% of the work, but given the opportunity, I will spend the 90% extra time to get that last 10%.