-
-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add t1ha hash (fastest, pass all tests) #18
Comments
Thanks, looks good |
Merged, thanks. I just had no room for your README.md docs. Maybe put them into the header. |
Sorry, but I just updated t1ha. In general, I was switched to little bit faster 'mux' version (with 64x64 mul) and to C from C++. Please merge again. |
Can you add the t1ha_mux variant also? |
It was decided to leave only the "mux" variant, at the same time renaming it into "t1ha". I think, I should clarify:
https://github.com/leo-yuriev/t1ha/blob/smhasher-rurban.t1ha/main.cpp#L184 |
But this would not work on 32bit then. No plan for a 32bit version? |
It should already work. More over, much faster than mum-hash. I implemented the required multiplication for the absence of __int128. https://github.com/leo-yuriev/t1ha/blob/smhasher-rurban.t1ha/t1ha.c#L149 |
Great, updating and testing it now |
This looks like a bug:
=> and it is also invalid C++ with -fpermissive |
Oops. Sure this is bug. Just lost de-referense while conversion from C++ to C. It is question for QA. How it passes the tests? |
I was QA. I didn't pass :) in smhasher it just added randomly a 0 or 1 to it, which apparently qualifies as good enough. on 32bit some constants are also too long and are capped. e.g. 2166136261 would need a 2166136261L there. but this is in a different function. |
;) +1 I am on the road approximately two hours. |
Thank! |
ready = https://github.com/leo-yuriev/t1ha/tree/smhasher-rurban.t1ha
The text was updated successfully, but these errors were encountered: