#include <IceRevisitedRadix.h>
Public Member Functions | |
inline_ udword | GetNbHits () const |
Returns the number of eraly exits due to temporal coherence. | |
inline_ udword | GetNbTotalCalls () const |
Returns the total number of calls to the radix sorter. | |
inline_ const udword * | GetRanks () const |
Access to results. mRanks is a list of indices in sorted order, i.e. in the order you may further process your data. | |
inline_ udword * | GetRecyclable () const |
mIndices2 gets trashed on calling the sort routine, but otherwise you can recycle it the way you want. | |
udword | GetUsedRam () const |
RadixSort () | |
RadixSort & | Sort (const udword *input, udword nb, RadixHint hint=RADIX_SIGNED) |
RadixSort & | Sort (const float *input, udword nb) |
~RadixSort () | |
Private Member Functions | |
void | CheckResize (udword nb) |
bool | Resize (udword nb) |
Private Attributes | |
udword | mCurrentSize |
Current size of the indices list. | |
udword | mNbHits |
Number of early exits due to coherence. | |
udword * | mRanks |
Two lists, swapped each pass. | |
udword * | mRanks2 |
udword | mTotalCalls |
Total number of calls to the sort routine. |
Revisited Radix Sort. This is my new radix routine:
History:
Definition at line 26 of file IceRevisitedRadix.h.
void RadixSort::CheckResize | ( | udword | nb | ) | [private] |
inline_ udword RadixSort::GetNbHits | ( | ) | const [inline] |
Returns the number of eraly exits due to temporal coherence.
Definition at line 47 of file IceRevisitedRadix.h.
inline_ udword RadixSort::GetNbTotalCalls | ( | ) | const [inline] |
Returns the total number of calls to the radix sorter.
Definition at line 45 of file IceRevisitedRadix.h.
inline_ const udword* RadixSort::GetRanks | ( | ) | const [inline] |
Access to results. mRanks is a list of indices in sorted order, i.e. in the order you may further process your data.
Definition at line 37 of file IceRevisitedRadix.h.
inline_ udword* RadixSort::GetRecyclable | ( | ) | const [inline] |
mIndices2 gets trashed on calling the sort routine, but otherwise you can recycle it the way you want.
Definition at line 40 of file IceRevisitedRadix.h.
udword RadixSort::GetUsedRam | ( | ) | const |
bool RadixSort::Resize | ( | udword | nb | ) | [private] |
RadixSort& RadixSort::Sort | ( | const udword * | input, |
udword | nb, | ||
RadixHint | hint = RADIX_SIGNED |
||
) |
RadixSort& RadixSort::Sort | ( | const float * | input, |
udword | nb | ||
) |
udword RadixSort::mCurrentSize [private] |
Current size of the indices list.
Definition at line 54 of file IceRevisitedRadix.h.
udword RadixSort::mNbHits [private] |
Number of early exits due to coherence.
Definition at line 59 of file IceRevisitedRadix.h.
udword* RadixSort::mRanks [private] |
Two lists, swapped each pass.
Definition at line 55 of file IceRevisitedRadix.h.
udword* RadixSort::mRanks2 [private] |
Definition at line 56 of file IceRevisitedRadix.h.
udword RadixSort::mTotalCalls [private] |
Total number of calls to the sort routine.
Definition at line 58 of file IceRevisitedRadix.h.