Commit Graph

184 Commits

Author SHA1 Message Date
Yann Collet
5902eb1cc1 Merge branch 'dev' into xxh3streamv2 2019-06-13 15:56:41 -07:00
Yann Collet
5fc33510ff secret is now a blob of bytes with no alignment restriction
secret must only respect a size condition now.

also : switch powerpc tests to trusty,
as they seem to fail on xenial environment.
2019-06-12 13:17:32 -07:00
Yann Collet
e8a4ce2936 updated code comments
for clarity, and corrections following API changes
2019-06-12 10:35:20 -07:00
Yann Collet
6d65c2a17c ensure all secret consumers read in 64-bit
so that secret can be transformed into a "blob of bytes"
thus being compatible with any endianess
2019-06-11 17:55:23 -07:00
Yann Collet
3eeba74bab improved code comments 2019-06-11 17:26:30 -07:00
Yann Collet
e6b8322a01 added XXH3 documentation 2019-06-11 16:40:56 -07:00
Yann Collet
a6e1d9f499 removed trailing white space 2019-06-11 14:43:17 -07:00
Yann Collet
04557272e5 test generic short input functions
suitable for both custom seed and secret
2019-06-11 11:13:44 -07:00
Yann Collet
891e3308b2 implemented a variant "with custom secret"
for benchmark of the "regular" variant.
2019-06-11 10:51:09 -07:00
Yann Collet
71dda5d64c fixed minor conversion warnings 2019-05-04 20:53:32 -07:00
Yann Collet
6a923e1dc1 first implementation of xxh3 streaming 2019-05-04 20:10:52 -07:00
LambdAurora
a728fc9fe8
Changed condition of dllimport definition for a better behavior. 2019-03-16 17:45:49 +01:00
LambdAurora
948fd7f625
Fixed the 'dllimport' build issue with MSVC. 2019-03-16 16:50:56 +01:00
Yann Collet
701423eeda fixed most Visual compilation issues
still this dllimport thing,
I don't know why it was added,
maybe something to remove altogether.
2019-03-16 06:59:46 -07:00
Yann Collet
40dbf78fa9 renamed XXH128_hash_t members to low64 and high64 2019-03-14 13:08:38 -07:00
Yann Collet
70f9d85959 minor doc edits 2019-03-13 15:08:04 -07:00
Yann Collet
aaea63b979 added XXH128 consistency tests 2019-03-13 14:44:41 -07:00
Yann Collet
2e86e20696 added list of opened questions for xxh3 2019-03-13 12:14:21 -07:00
Yann Collet
8423e82ef8 fixed last integration issues 2019-03-12 18:13:46 -07:00
Yann Collet
638993f16b added consistency tests for XXH3_64b
validated against SSE2 path
2019-03-11 15:09:27 -07:00
Yann Collet
e0c6a9e880 fixed xxh3 namespace issue 2019-02-26 15:14:05 -08:00
Yann Collet
43c10239c9 minor C90 adaptation fixes
added -Wconversion flag
2019-02-26 13:45:56 -08:00
LambdAurora
c56b856e58
Fixed undefined reference when building with MinGW. 2019-02-12 22:59:45 +01:00
LambdAurora
1b0f7b371d
Added export of public symbols on Windows. 2019-02-12 22:15:58 +01:00
Yann Collet
3064d42e7d minor code comment editing 2018-04-18 14:27:00 -07:00
Yann Collet
76f7ea3782 use stdint.h inside xxhash.h
to avoid type mismatch in some specific circumstances
2018-03-21 18:24:19 -07:00
Yann Collet
9231e6d8ed added build macro XXH_INLINE_ALL
same as XXH_PRIVATE_API
but insists on the performance improvement side.

also : bumped version number to v0.6.5
2018-03-13 15:52:21 -07:00
Soojin Nam
c9c076c75b fix a trivial typo 2017-12-26 10:57:24 +09:00
Yann Collet
7caf8bd764 bump version 0.6.4 2017-12-22 13:07:37 +01:00
Yann Collet
5c174cfa4e max line length at 120 (#115) 2017-10-09 12:26:59 -07:00
Yann Collet
894a1aec60 fixed : do not write into state.reserved
so that it can be removed in a future version
2017-09-23 14:46:11 -07:00
Yann Collet
6e7a39615b bumped version number to 0.6.3 2017-09-08 01:00:32 -07:00
Yann Collet
77fa9318a6 minor coding style change 2016-11-17 10:50:04 -08:00
Yann Collet
386a634f78 removed restrict 2016-09-01 21:29:02 -07:00
Yann Collet
465bc74408 refactored code, for better separation between xxh32 and xxh64 (unfinished) 2016-08-11 00:53:10 +02:00
Yann Collet
0e479116d6 removed date for reproducibility
minor `__inline`
2016-08-10 07:08:10 +02:00
Yann Collet
16bbb84a69 do not write (reset) into reserved 2016-08-07 00:28:30 +02:00
Yann Collet
e513f5d9d6 extended @stbrumme suggestion to XXH64 2016-08-06 20:55:35 +02:00
Yann Collet
61c628549f Implemented @stbrumme suggestion in #79 2016-08-06 20:48:24 +02:00
Yann Collet
47725a54a5 minor comment clarification 2016-08-06 20:35:56 +02:00
Yann Collet
b97d45ab97 add canonical functions to namespace emulation 2016-07-10 12:56:59 +02:00
Yann Collet
81f6843b1a add XXH*_copyState() to list for XXH_NAMESPACE 2016-06-24 12:19:16 +02:00
Yann Collet
9f5e95eedf introduced XXH*_copyState() (#69) 2016-06-21 08:40:48 +02:00
Yann Collet
c8ab69ee1b reverted to XXH_PRIVATE_API macro to get all functions in "static" mode
still need to include `xxhash.h`
2016-06-21 08:29:40 +02:00
Yann Collet
12339ffba7 changed version to v0.6.1 2016-06-21 08:21:49 +02:00
Yann Collet
2ae8976579 Improved comments 2016-06-06 14:22:56 +02:00
Yann Collet
5062cb111b changed XXH_PRIVATE_API to XXH_INCLUDE_BODY
now includes `xxhash.h` instead of `xxhash.c`, which feels more natural
2016-06-06 14:12:27 +02:00
Yann Collet
20d9439301 changed library version number, due to API change 2016-05-28 02:38:09 +02:00
Yann Collet
4a218171ea created protected section XXH_STATIC_LINKING_ONLY within xxhash.h
expose definition of `XXH32_state_t` and `XXH64_state_t` in the new section
2016-05-28 02:14:28 +02:00
Yann Collet
fec444e980 code refactoring,
introduce XXH64_mergeRound() to simplify code.
change library version to v0.5.2
2016-05-26 02:54:16 +02:00
Yann Collet
8485beac06 update lib version 2016-02-19 16:28:29 +01:00
Yann Collet
a881289521 new canonical API, suggested by @t-mat (#45) 2016-01-14 03:01:39 +01:00
Yann Collet
b5e9b75d84 added _canonicalDigest() functions, as suggested by Takatuki Matsuoka (#45) 2016-01-11 01:31:04 +01:00
Yann Collet
5aabc409d1 Added : --little-endian command 2016-01-10 17:06:34 +01:00
Yann Collet
599514c151 Updated header guard (#46) 2016-01-07 23:24:04 +01:00
Yann Collet
5cf7b718c0 minor tweak, to avoid outstanding strict-aliasing warnings 2016-01-06 01:28:36 +01:00
Yann Collet
99c5021c5c shortened macro (minor) 2016-01-04 18:07:03 +01:00
Yann Collet
d1d3ac7e45 compatibility with visual c compiler 2016-01-04 15:07:27 +01:00
Yann Collet
88ecbf1749 minor namespace tweak 2016-01-04 09:06:27 +01:00
Yann Collet
2b1cded67c added PRIVATE_API mode 2016-01-04 08:32:38 +01:00
Yann Collet
ba00dd010d fix XXH_NAMESPACE with XXH_version() 2016-01-04 06:49:41 +01:00
Yann Collet
44f5038687 introduced semantic versioning 2016-01-03 23:56:13 +01:00
Yann Collet
ebde2748a7 stricter compliance with strict aliasing gcc warnings 2016-01-02 20:18:07 +01:00
Yann Collet
cab86639a5 Added : XXH_NAMESPACE, for namespace emulation in C 2015-06-28 03:20:23 -08:00
Yann Collet
57fda00476 sync with lz4 version 2015-05-04 22:56:53 +01:00
Yann Collet
bdbf0a541a minor comment update 2014-12-09 19:16:15 +01:00
Yann Collet
ed990f43eb _digest uses const* type (doesn't modify state) 2014-09-27 12:41:07 +01:00
Yann Collet
2d6da418a0 new xxHash API (breaking changes) 2014-09-25 17:30:15 +01:00
Yann Collet
d0d992cc55 Fixed crlf issue 2014-08-15 11:27:04 +02:00
Yann Collet
c36e42ce47 Updated comment, to reflect change into XXHnn_init() 2014-08-13 02:26:09 +01:00
Yann Collet
c4de51307f minor formatting changes 2014-08-06 09:11:52 +01:00
Yann Collet
e551459538 Fixed : issue 18 (null input pointer)
Changed : API : length uses unsigned int
2014-07-14 16:54:56 +01:00
Yann Collet
f0f007f042 Added : Travis automated tests
and license
and readme
2014-07-10 22:44:08 +02:00
Yann Collet
70ba044ded New : XXH64, 64-bits version, thanks to Mathias Westerdahl 2014-07-10 08:28:57 +01:00
yann.collet.73@gmail.com
b22de6c9be Issue 17 : strict prototype definition for XXH32_sizeofState()
git-svn-id: https://xxhash.googlecode.com/svn/trunk@34 a90a0800-428d-89a3-ac20-94765a7798ee
2014-03-09 23:53:42 +00:00
yann.collet.73@gmail.com
7c14a40411 Corrected : aligned input detection on strict-align CPU (issue 15)
git-svn-id: https://xxhash.googlecode.com/svn/trunk@33 a90a0800-428d-89a3-ac20-94765a7798ee
2013-12-05 22:47:05 +00:00
yann.collet.73@gmail.com
681ea2aad6 Support non-aligned input on strict-align CPU systems, as requested by Gregory Pakosz
Type XXH32_stateSpace_t, for static allocation ( typically for stack allocation, or freestanding systems). Suggested by Christoph Cullmann and Takayuki Matsuoka
User definable memory-related functions (malloc, free, memcpy)
Changed enum OK into XXH_OK
Restricted intrinsic _rotl to MSVC, due to poor performance under minGW

git-svn-id: https://xxhash.googlecode.com/svn/trunk@30 a90a0800-428d-89a3-ac20-94765a7798ee
2013-06-04 12:01:50 +00:00
yann.collet.73@gmail.com
56314ee122 New functions XXH32_sizeofState() and XXH32_resetState(), for external allocation. Thanks to Takayuki Matsuoka for suggestion.
Slightly improved speed of XXH32_update()
New mode XXH_ACCEPT_NULL_INPUT_POINTER (as a #define), suggested by Brian White and Thomas Kaiser.
Added : Makefile, for GCC
Modified Basic Types and C99 detection.

git-svn-id: https://xxhash.googlecode.com/svn/trunk@28 a90a0800-428d-89a3-ac20-94765a7798ee
2013-05-11 11:22:55 +00:00
yann.collet.73@gmail.com
ca59c9d11f Modified function names
Added null-pointer check to update()
Removed a few warnings

git-svn-id: https://xxhash.googlecode.com/svn/trunk@7 a90a0800-428d-89a3-ac20-94765a7798ee
2013-04-12 08:24:54 +00:00
yann.collet.73@gmail.com
e3fca4f187 Corrected : issue with providing a wrong hash for input of size between 4GB+1 et 4GB+15 bytes
Corrected : macro to define hardware 32-bits swap with GCC
Thanks to Adrien Grand for both issues raised.

git-svn-id: https://xxhash.googlecode.com/svn/trunk@6 a90a0800-428d-89a3-ac20-94765a7798ee
2012-12-18 16:57:42 +00:00
yann.collet.73@gmail.com
ad2c867c87 - Added : Endian-independant result
- Added : Get intermediate hashes

git-svn-id: https://xxhash.googlecode.com/svn/trunk@5 a90a0800-428d-89a3-ac20-94765a7798ee
2012-12-14 23:00:21 +00:00
yann.collet.73@gmail.com
d6a6bd9e72 New version
Added : capability to provide input in several consecutive blocks
Single version provided : XXH32() (Speed 5.4 GB/s), with a Q.Score of 10

git-svn-id: https://xxhash.googlecode.com/svn/trunk@4 a90a0800-428d-89a3-ac20-94765a7798ee
2012-12-12 19:06:11 +00:00
yann.collet.73@gmail.com
db3c9f7f3b Added : benchmark program, for easier evaluation
Corrected : _rotl() support limited to Windows; replaced with software-defined for other targets

git-svn-id: https://xxhash.googlecode.com/svn/trunk@3 a90a0800-428d-89a3-ac20-94765a7798ee
2012-05-10 01:22:58 +00:00
yann.collet.73@gmail.com
ab856b12b8 initial release
git-svn-id: https://xxhash.googlecode.com/svn/trunk@2 a90a0800-428d-89a3-ac20-94765a7798ee
2012-04-30 15:49:54 +00:00