@@ -18,13 +18,13 @@ static void dinsert(double *x, const int n) { // TODO: if and when twiddled, d
1818
1919static uint64_t minULL ;
2020
21- static void dradix_r ( // single-threaded recursive worker
22- double * in , // n doubles to be sorted
23- double * working , // working memory to put the sorted items before copying over *in; must not overlap *in
24- uint64_t n , // number of items to sort. *in and *working must be at least n long
25- int fromBit , // After twiddle to ordered ull, the bits [fromBit,toBit] are used to count
26- int toBit , // fromBit<toBit; bit 0 is the least significant; fromBit is right shift amount too
27- uint64_t * counts // already zero'd counts vector, 2^(toBit-fromBit+1) long. A stack of these is reused.
21+ static void dradix_r ( // single-threaded recursive worker
22+ double * restrict in , // n doubles to be sorted
23+ double * restrict working , // working memory to put the sorted items before copying over *in; must not overlap *in
24+ uint64_t n , // number of items to sort. *in and *working must be at least n long
25+ int fromBit , // After twiddle to ordered ull, the bits [fromBit,toBit] are used to count
26+ int toBit , // fromBit<toBit; bit 0 is the least significant; fromBit is right shift amount too
27+ uint64_t * restrict counts // already zero'd counts vector, 2^(toBit-fromBit+1) long. A stack of these is reused.
2828) {
2929 uint64_t width = 1ULL <<(toBit - fromBit + 1 );
3030 uint64_t mask = width - 1 ;
0 commit comments