Commit Graph

857 Commits

Author SHA1 Message Date
easyaspi314 (Devin)
9eb91a3b53 Let the Great Typo Hunt commence!
Work in progress.

 - Fix many spelling/grammar issues, primarily in comments
 - Remove most spaces before punctuation
 - Update XXH3 comment
 - Wrap most comments to 80 columns
 - Unify most comments to use the same style
 - Use hexadecimal in the xxhash spec
 - Update help messages to better match POSIX/GNU conventions
 - Use HTML escapes in README.md to avoid UTF-8
 - Mark outdated benchmark/scores
2020-03-02 15:20:49 -05:00
Yann Collet
22abeae0eb
Merge pull request #318 from Cyan4973/collisionTester
Collision tester
2020-03-01 20:40:57 -08:00
Yann Collet
645975d8ba fixed minor typos 2020-03-01 18:42:42 -08:00
Yann Collet
a603671c92 attempt to fix clang compilation of collision test 2020-03-01 17:51:48 -08:00
Yann Collet
3021a28972 attempt to disable MT on MINGW32 through build macro 2020-03-01 16:37:52 -08:00
Yann Collet
0d97e52912 test adding stdio 2020-03-01 15:56:09 -08:00
Yann Collet
8072b3798a forgot the include 2020-03-01 15:42:31 -08:00
Yann Collet
7d05df56cc win version must be enforced 2020-03-01 15:05:40 -08:00
Yann Collet
cec4da8c1a minor change for mingw32 compilation 2020-03-01 14:49:38 -08:00
Yann Collet
9e8468459f updated license
test tools are GPLv2
2020-03-01 14:27:29 -08:00
Yann Collet
646226f697 removed artefacts 2020-03-01 14:13:40 -08:00
Yann Collet
e091a41d8a
Merge pull request #317 from Cyan4973/restoreChecks
restored checksum validation for xxh3 & xxh128
2020-03-01 14:03:10 -08:00
Yann Collet
6ce6105837 updated doc 2020-03-01 14:02:34 -08:00
Yann Collet
1740ae0d05
Merge pull request #316 from Cyan4973/doubleSecret
Combined secret for small inputs
2020-03-01 11:21:56 -08:00
Yann Collet
6f82266eca restored checksum validation for xxh3 & xxh128
triggered when starting `xxhsum` in benchmark mode.
2020-02-29 19:38:06 -08:00
Yann Collet
dd5d4b5526 update the SLAB5 pattern generator 2020-02-28 19:35:16 -08:00
Yann Collet
18725e9251 completed doc with a few examples 2020-02-28 19:11:40 -08:00
Yann Collet
7e7d65260b make partial bitfield collision tester compatible with 32-bit 2020-02-28 17:41:33 -08:00
Yann Collet
e618ec4dcc simplify integration of other hash algorithms 2020-02-28 17:07:12 -08:00
Yann Collet
dadcbc4a0f first commit of the brute-force collision tester 2020-02-28 16:28:43 -08:00
Yann Collet
5dd837e8a4
Merge pull request #315 from easyaspi314/misc_fixups
Comments + 32-bit path for 9to16_128b, improve arch detection
2020-02-28 15:19:00 -08:00
easyaspi314 (Devin)
4bc56e466d Update comments for 9to16_128b, add 32-bit path
Show how the mask was simplified out on 64-bit, and add the more literal
32-bit friendly path which avoids some dependencies on the low bits of
m128.high64 and removes an ADC.

I separated the comments because the arithmetic is no longer pure
128-bit arithmetic.
2020-02-28 17:03:19 -05:00
Yann Collet
1141783b29 extended secret combination to xxh128 2020-02-28 12:14:47 -08:00
Yann Collet
d63a8b3e16 fix minor warning (unused function)
will be used once checksum verification is re-enabled
2020-02-28 16:02:19 -08:00
Yann Collet
4e88e37d21 disabled checksum tests
since all values have changed.

To be re-enabled later.
2020-02-28 15:45:55 -08:00
Yann Collet
5f9256b302 extended strategy to len==0 2020-02-28 15:43:39 -08:00
Yann Collet
24a5b0add4 fix overlap 2020-02-28 15:36:03 -08:00
Yann Collet
c131e94ca7 fix ptr arithmetic error 2020-02-28 15:33:34 -08:00
Yann Collet
79813c9e1e Merge branch 'dev' into doubleSecret 2020-02-28 15:29:48 -08:00
Yann Collet
cd078d265d xxh3: use combined secrets for small inputs
to make it more difficult to retrieve information about the secret.

Note : should cost nothing for usage with "default" `kSecret`
2020-02-28 15:28:17 -08:00
Yann Collet
152d50900b xxh3 len[9-16] : minor quality improvement
in O1 popcount distribution
2020-02-28 11:37:13 -08:00
easyaspi314 (Devin)
3b12ce3102 Improve architecture detection
- Properly detect MSVC x86
 - Make ARM more detailed - there are so many variants that change
   xxHash's performance that "arm" or "arm + NEON" is not specific
   enough.
 - Make sure x86_64 and aarch64 show SSE2 and NEON respectively.
2020-02-28 13:39:27 -05:00
Yann Collet
002fcb2219
Merge pull request #314 from Cyan4973/xxh128_len9to16
xxh128 len[9-16] : small simplification
2020-02-28 10:12:28 -08:00
Yann Collet
cb929781f2 fix 12-bytes input quality issues 2020-02-27 17:25:52 -08:00
Yann Collet
2b8da00df1
Merge pull request #313 from easyaspi314/documentation
Improve documentation of internals
2020-02-27 15:54:01 -08:00
Yann Collet
c33a16dc43 selected final variant for len9to16 2020-02-27 15:51:52 -08:00
easyaspi314 (Devin)
e5883c4a33 Improve wording on XXH3_accumulate_512 comment
Adds more details of the changes compared to original UMAC and reduces
run-ons.
2020-02-27 18:48:16 -05:00
Yann Collet
c9b1b2320c simplified a bit more
a still "good" MC2 distribution
2020-02-27 15:26:43 -08:00
easyaspi314 (Devin)
f2a78adb2a Be consistent with wording 2020-02-27 18:10:34 -05:00
easyaspi314 (Devin)
9363917d08 Swap good and bad in 64-bit subset comment, expand
Flows better.
2020-02-27 18:07:48 -05:00
Yann Collet
91d43dbc7b simplified len9to16
only insert seed from input_hi
also : slightly reduced multiplication budget

Overall mix is nonetheless better from an MC2 perspective.
2020-02-27 15:04:23 -08:00
easyaspi314 (Devin)
2685b58257 Add a quick comment about the 64-bit arithmetic subset
Added in the place for the Thumb sanity check because it made the most
sense.

Also noted that the requirements were not much more than XXH32.
2020-02-27 17:53:26 -05:00
easyaspi314 (Devin)
ce652cc503 Note the primary reused subroutines 2020-02-27 17:21:55 -05:00
easyaspi314 (Devin)
1acf797a85 Move 17to128 and 129to240 into a more logical location
Now, it is sorted by length from short to long.

Also, mention how mix32B is slower but better resists multiply by zero.
2020-02-27 15:43:18 -05:00
easyaspi314 (Devin)
fb999b1960 Fix yet another typo
Thanks, @aras-p
2020-02-27 15:36:35 -05:00
easyaspi314 (Devin)
b655d2db93 Fix copy-paste issue 2020-02-27 14:43:30 -05:00
easyaspi314 (Devin)
39feadea2e Fix minor typi 2020-02-27 14:40:07 -05:00
easyaspi314 (Devin)
a1ca4ff0e2 Comment on FARSH keys and Mum variant, indent fix 2020-02-27 14:22:45 -05:00
easyaspi314 (Devin)
0ffbf28843 Add some extra details, fix typo 2020-02-27 14:13:57 -05:00
easyaspi314 (Devin)
bba53920a5 Mention the seed-dependent collisions in mix16B
We know it exists, don't hide it.

It is highly unlikely to occur with proper seeding and random inputs,
and it doesn't occur on the 128-bit version, so make sure people are
aware of it.
2020-02-27 14:00:54 -05:00