Skip to content

Commit

Permalink
Fix a few integer type mismatches in for loops. (#2241)
Browse files Browse the repository at this point in the history
* Use size_t to iterate size_t-bounded loops in `internal_hash()`.
* Use unsigned to iterate unsigned-bounded loops in `test_probe.cpp`.

Fixes #2240
  • Loading branch information
halfflat authored Dec 8, 2023
1 parent 1e4bd83 commit 562ba9e
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions arbor/include/arbor/util/hash_def.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ inline constexpr std::size_t internal_hash(T&& data) {
if constexpr (std::is_integral_v<D>) {
unsigned long long bytes = data;
std::size_t hash = offset_basis;
for (int ix = 0; ix < sizeof(data); ++ix) {
for (std::size_t ix = 0; ix < sizeof(data); ++ix) {
uint8_t byte = bytes & 255;
bytes >>= 8;
hash = hash ^ byte;
Expand All @@ -66,7 +66,7 @@ inline constexpr std::size_t internal_hash(T&& data) {
if constexpr (std::is_pointer_v<D>) {
unsigned long long bytes = reinterpret_cast<unsigned long long>(data);
std::size_t hash = offset_basis;
for (int ix = 0; ix < sizeof(data); ++ix) {
for (std::size_t ix = 0; ix < sizeof(data); ++ix) {
uint8_t byte = bytes & 255;
bytes >>= 8;
hash = hash ^ byte;
Expand Down
4 changes: 2 additions & 2 deletions test/unit/test_probe.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -842,7 +842,7 @@ void run_axial_and_ion_current_sampled_probe_test(context ctx) {
ASSERT_NE(nullptr, s);
auto [s_beg, s_end] = *s;
ASSERT_EQ(s_end - s_beg, n_cv);
for (int ix = 0; ix < n_cv; ++ix) i_memb[ix] = *s_beg++;
for (unsigned ix = 0; ix < n_cv; ++ix) i_memb[ix] = *s_beg++;
}
else if (pm.id.tag == "I-stimulus") {
auto m = any_cast<const mcable_list*>(pm.meta);
Expand All @@ -853,7 +853,7 @@ void run_axial_and_ion_current_sampled_probe_test(context ctx) {
ASSERT_NE(nullptr, s);
auto [s_beg, s_end] = *s;
ASSERT_EQ(s_end - s_beg, n_cv);
for (int ix = 0; ix < n_cv; ++ix) i_stim[ix] = *s_beg++;
for (unsigned ix = 0; ix < n_cv; ++ix) i_stim[ix] = *s_beg++;
}
else {
// Probe id tells us which axial current this is.
Expand Down

0 comments on commit 562ba9e

Please sign in to comment.