21static void counting_pass(uint32_t *src, uint32_t *dst,
size_t n,
int byte_idx) {
24 for (
size_t i = 0; i < n; i++) {
25 unsigned b = (unsigned)((src[i] >> (byte_idx * 8)) & 0xFF);
28 for (
int i = 1; i <
RADIX_BUCKETS; i++) count[i] += count[i - 1];
31 for (
size_t i = n; i > 0; i--) {
32 uint32_t v = src[i - 1];
33 unsigned b = (unsigned)((v >> (byte_idx * 8)) & 0xFF);