- hashkit_continuum_point_st *begin, *end, *left, *right, *middle;
- begin= left= hashkit->continuum;
- end= right= hashkit->continuum + hashkit->continuum_points_count;
-
- while (left < right)
- {
- middle= left + (right - left) / 2;
- if (middle->value < hash_value)
- left= middle + 1;
- else
- right= middle;
- }
- if (right == end)
- right= begin;
- return right->index;
- }
-
- case HASHKIT_DISTRIBUTION_MAX:
+ case HASHKIT_HASH_DEFAULT:
+ self->base_hash.function= hashkit_one_at_a_time;
+ break;
+ case HASHKIT_HASH_MD5:
+ self->base_hash.function= hashkit_md5;
+ break;
+ case HASHKIT_HASH_CRC:
+ self->base_hash.function= hashkit_crc32;
+ break;
+ case HASHKIT_HASH_FNV1_64:
+ self->base_hash.function= hashkit_fnv1_64;
+ break;
+ case HASHKIT_HASH_FNV1A_64:
+ self->base_hash.function= hashkit_fnv1a_64;
+ break;
+ case HASHKIT_HASH_FNV1_32:
+ self->base_hash.function= hashkit_fnv1_32;
+ break;
+ case HASHKIT_HASH_FNV1A_32:
+ self->base_hash.function= hashkit_fnv1a_32;
+ break;
+ case HASHKIT_HASH_HSIEH:
+#ifdef HAVE_HSIEH_HASH
+ self->base_hash.function= hashkit_hsieh;
+ break;
+#else
+ return HASHKIT_FAILURE;
+#endif
+ case HASHKIT_HASH_MURMUR:
+ self->base_hash.function= hashkit_murmur;
+ break;
+ case HASHKIT_HASH_JENKINS:
+ self->base_hash.function= hashkit_jenkins;
+ break;
+ case HASHKIT_HASH_MAX: