| 401 | } |
| 402 | |
| 403 | void tbbRadixSort(const size_t numTasks) |
| 404 | { |
| 405 | radixCount = (TyRadixCount*) alignedMalloc(MAX_TASKS*sizeof(TyRadixCount),64); |
| 406 | |
| 407 | if (sizeof(Key) == sizeof(uint32_t)) { |
| 408 | tbbRadixIteration(0*BITS,0,src,tmp,numTasks); |
| 409 | tbbRadixIteration(1*BITS,0,tmp,src,numTasks); |
| 410 | tbbRadixIteration(2*BITS,0,src,tmp,numTasks); |
| 411 | tbbRadixIteration(3*BITS,1,tmp,src,numTasks); |
| 412 | } |
| 413 | else if (sizeof(Key) == sizeof(uint64_t)) |
| 414 | { |
| 415 | tbbRadixIteration(0*BITS,0,src,tmp,numTasks); |
| 416 | tbbRadixIteration(1*BITS,0,tmp,src,numTasks); |
| 417 | tbbRadixIteration(2*BITS,0,src,tmp,numTasks); |
| 418 | tbbRadixIteration(3*BITS,0,tmp,src,numTasks); |
| 419 | tbbRadixIteration(4*BITS,0,src,tmp,numTasks); |
| 420 | tbbRadixIteration(5*BITS,0,tmp,src,numTasks); |
| 421 | tbbRadixIteration(6*BITS,0,src,tmp,numTasks); |
| 422 | tbbRadixIteration(7*BITS,1,tmp,src,numTasks); |
| 423 | } |
| 424 | } |
| 425 | |
| 426 | private: |
| 427 | TyRadixCount* radixCount; |
nothing calls this directly
no test coverage detected