Merge pull request #2641 from SChernykh/dev

AstroBWT: fixed rare incorrect hashes
This commit is contained in:
xmrig 2021-10-20 07:24:15 +07:00 committed by GitHub
commit f8f73b0cd7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -307,15 +307,15 @@ void sort_indices2(uint32_t N, const uint8_t* v, uint64_t* indices, uint64_t* tm
} }
#define ITER(X) { \ #define ITER(X) { \
const uint64_t k = tmp_indices[j + X]; \ const uint64_t k = tmp_indices[j - X]; \
const uint32_t index = counters[(k >> (64 - COUNTING_SORT_BITS * 2)) & ((1 << COUNTING_SORT_BITS) - 1)]--; \ const uint32_t index = counters[(k >> (64 - COUNTING_SORT_BITS * 2)) & ((1 << COUNTING_SORT_BITS) - 1)]--; \
indices[prev_i + index] = k; \ indices[prev_i + index] = k; \
} }
for (j = 0; j < n8; j += 8) { for (j = n; j >= 8; j -= 8) {
ITER(0); ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); ITER(8);
} }
for (; j < n; ++j) { for (; j > 0; --j) {
ITER(0); ITER(1);
} }
#undef ITER #undef ITER