Skip to content

Add FNV-1 and FNV-1a hash implementations with corresponding tests - #3

Merged
rwindegger merged 11 commits into
mainfrom
feature/fnv_1
Mar 22, 2026
Merged

Add FNV-1 and FNV-1a hash implementations with corresponding tests#3
rwindegger merged 11 commits into
mainfrom
feature/fnv_1

Conversation

@rwindegger

Copy link
Copy Markdown
Owner

No description provided.

@rwindegger
rwindegger requested a review from Copilot March 22, 2026 10:08
@codecov

codecov Bot commented Mar 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (476f497) to head (a990fec).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main        #3   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            1         3    +2     
  Lines           94       126   +32     
=========================================
+ Hits            94       126   +32     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds FNV-1 and FNV-1a hashing to the hash23 header-only library and wires them into the existing test target.

Changes:

  • Introduce hash23::fnv_1 and hash23::fnv_1a APIs in new public headers.
  • Export the new headers via include/hash23/hash23.h and the top-level CMake interface library.
  • Add initial GoogleTest coverage and register the new test files in the tests CMake target.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
include/hash23/fnv_1.h New FNV-1 implementation (public header).
include/hash23/fnv_1a.h New FNV-1a implementation (public header).
include/hash23/hash23.h Exposes the new FNV headers from the umbrella include.
CMakeLists.txt Adds new public headers to the interface library sources.
tests/fnv_1_tests.cpp Adds a basic FNV-1 test vector.
tests/fnv_1a_tests.cpp Adds a basic FNV-1a test vector.
tests/CMakeLists.txt Adds the new test sources to the test executable.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/fnv_1a_tests.cpp Outdated
Comment thread tests/fnv_1_tests.cpp
Comment thread tests/fnv_1a_tests.cpp
Comment thread include/hash23/fnv_1.h Outdated
Comment thread include/hash23/fnv_1.h Outdated
Comment thread include/hash23/fnv_1a.h
Comment thread tests/fnv_1_tests.cpp Outdated
Comment thread include/hash23/fnv_1.h Outdated
Comment thread include/hash23/fnv_1.h
Comment thread include/hash23/fnv_1a.h Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread include/hash23/fnv_1a.h
Comment thread tests/fnv_1a_tests.cpp
Comment thread include/hash23/fnv_1.h
Comment thread include/hash23/fnv_1a.h
Comment thread include/hash23/fnv_1.h
Comment thread include/hash23/fnv_1a.h

Copilot AI commented Mar 22, 2026

Copy link
Copy Markdown
Contributor

@rwindegger I've opened a new pull request, #4, to work on those changes. Once the pull request is ready, I'll request review from you.

…port (#4)

* Initial plan

* Handle std::byte via std::to_integer and add high-byte value tests

Co-authored-by: rwindegger <12802869+rwindegger@users.noreply.github.com>
Agent-Logs-Url: https://github.com/rwindegger/hash23/sessions/d5360797-5255-4a5c-894c-557dbe66639c

* Use signed char in high_byte_values_test to directly exercise sign-extension fix

Co-authored-by: rwindegger <12802869+rwindegger@users.noreply.github.com>
Agent-Logs-Url: https://github.com/rwindegger/hash23/sessions/6053785c-94b8-4fc9-bf5c-d1cce881240e

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: rwindegger <12802869+rwindegger@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/fnv_1_tests.cpp
Comment thread tests/fnv_1a_tests.cpp Outdated
Comment thread include/hash23/fnv_1.h
Comment thread include/hash23/fnv_1a.h

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread include/hash23/fnv_1a.h Outdated
Comment thread include/hash23/fnv_1.h
Comment thread include/hash23/fnv_1a.h
Comment thread tests/fnv_1_tests.cpp
Comment thread tests/fnv_1a_tests.cpp

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@rwindegger
rwindegger merged commit c79aa85 into main Mar 22, 2026
10 checks passed
@rwindegger
rwindegger deleted the feature/fnv_1 branch March 22, 2026 12:56
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.

3 participants