Streaming implementation of XXH3/XXH128 could fail, reporting an incorrect hash value,
for certain specific ranges of length, and providing input in segments of random length.
issue reported by @WayneD
fix#378
updated test case to catch this issue
* Remove --quiet and "Loading ..." from manpage
* Remove "Loading ..." from markdown manpage
* Removing "Loading..." from code
* Update tests for "Loading..."
* Remove the remaining "Loading..." from source
Forgot about this one
* Test error message on non-existing file
* Fix a typo in a test (xxhsum vs ./xxhsum)
* Fix a typo for real. noneexistent -> nonexistent
Tested.
- Every symbol, typedef, and macro is prefixed with XXH or xxh.
- For compatibility with legacy code that messes with the internals,
XXH_OLD_NAMES can be defined to wrap the old names in macros. This
also brings back U32 and friends.
Use `__wgetmainargs()` instead of `GetCommandLineW()` and
`CommandLineToArgvW()`. While it is an internal API, aside from
declaring the function, it actually simplifies things a lot, as we can
setup a `wmain()` equivalent in a few lines.
It also avoids linking to `Shell32.dll`, which is a lot of bloat for a
simple command line utility.
Most importantly, this supports wildcards on `cmd.exe`, fixing #341.
Also improved comments and did minor cleanup.
Prevents SLP vectorization on Clang ARMv7 resulting in scalarized
multiplies.
Also should be more friendly for sizeopt. Loop should be unrolled
anyways, or the overhead of 128-bit multiplies on 32-bit outweigh
the branch a la XXH64_finalize. Needs to be benchmarked on x86.
Don't use `-mavx2 -maes` in collisions
It prevents `make test` from passing on non-x86 targets
TODO: proper Windows library flags: bfd accepts Linux flags, but
ld.lld errors on `-Wl,-soname`
Uses a table and a loop to reduce copy/paste and allow easy testing of
other hash functions. Create a wrapper and insert it into
g_hashesToBench, and it will automatically be added to the benchmark.
The hash display line has been made longer to actually fit xxHash's
names instead of clipping them. It is also configurable.
Reordered the hashLong wrappers so they aren't split by the seed init
code
Renamed XXH3_hashLong_internal to XXH3_hashLong_64b_internal to match
128-bit variant