Skip to content

Add XXHash3 & XXHash128 implementations with tests#43

Merged
Xor-el merged 1 commit into
masterfrom
enhancement/xxh128_and_xxh3
Mar 23, 2026
Merged

Add XXHash3 & XXHash128 implementations with tests#43
Xor-el merged 1 commit into
masterfrom
enhancement/xxh128_and_xxh3

Conversation

@Xor-el
Copy link
Copy Markdown
Owner

@Xor-el Xor-el commented Mar 23, 2026

  • Implement the XXH3_64bits and XXH3_128bits (XXHash128) hash algorithms, following the official xxHash specification and existing codebase conventions. Both variants share core primitives via TXXH3Core (secret, accumulators, accumulation/scrambling pipeline, 64x64->128-bit scalar multiplication) defined in HlpXXHash3.pas. TXXHash128 in HlpXXHash128.pas reuses these shared primitives with its own 128-bit finalization logic.

  • do note that these are the scalar implementations and would not perform similar to the ones accelerated via AVX2 or SSE2.

Closes #19

Implement the XXH3_64bits and XXH3_128bits (XXHash128) hash algorithms,
following the official xxHash specification and existing codebase conventions.
Both variants share core primitives via TXXH3Core (secret, accumulators,
accumulation/scrambling pipeline, 64x64->128-bit scalar multiplication)
defined in HlpXXHash3.pas. TXXHash128 in HlpXXHash128.pas reuses these
shared primitives with its own 128-bit finalization logic.

Closes #19
@Xor-el Xor-el merged commit c56a847 into master Mar 23, 2026
4 checks passed
@Xor-el Xor-el deleted the enhancement/xxh128_and_xxh3 branch March 23, 2026 11:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Adding xxHash XXH128 (SSE2) and\or XXH3 (SSE2)

1 participant