75 void iSort(E *
A,
int n,
int m, F f) {
76 int bits = utils::log2Up(m);
79 E*
B = (E*) malloc(
sizeof(E)*n);
81 int* counts = (
int*) malloc(
sizeof(
int)*
BUCKETS);
84 int rbits = 1+(bits-1)/rounds;
88 while (bitOffset < bits) {
89 if (bitOffset+rbits > bits) rbits = bits-bitOffset;
101 for (
int i=0; i < n; i++)
104 free(
B); free(Tmp); free(counts);