MurmurHash3

Ilya via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri Dec 11 18:59:21 PST 2015


On Friday, 11 December 2015 at 22:43:00 UTC, Guillaume Chatelet 
wrote:
> On Friday, 11 December 2015 at 01:51:09 UTC, Ilya wrote:
>> http://dpaste.dzfl.pl/1b94ed0aa96e#line-222 - seed is uint, 
>> can it be ulong?
> Done
>
>> Mutmur hash has three stages:
>> 1. Computation of hash for blocks (32bit or 128bit)
>> 2. Compitation of hash for tail (remainder)
>> 3. Finalization.
>>
>> I will be very happy, if step 1 will be represented as an 
>> output range. Then it can be used directly like reduce 
>> aggregator for ranges and multidimensional slices.
> Done
>
> Not thoroughly tested but updated for range and taking an ulong 
> seed for MurmurHash3_x64_128:
> http://dpaste.dzfl.pl/1b94ed0aa96e
>
> Not sure I got what you meant about the optimized version. For 
> the return value ?
>
> I haven't done any benchmarking yet.

Current version is suitable for arrays but not ranges or types.

Few examples:
1. Compute hash of ulong.
2. Compute hash of all elements in matrix column (element are in 
different arrays).

I have created output range API draft 
http://dpaste.dzfl.pl/a24050042758

Ilya



More information about the Digitalmars-d-announce mailing list