8 #ifndef __UT_QuickSort__
9 #define __UT_QuickSort__
16 typedef int UTcompareFunc(
void * ,
const void *,
const void *);
33 bool signedvalues=
true);
54 static void sort(
void *input,
size_t size,
unsigned int nb,
55 void *userdata, UTcompareFunc *
cmp);
62 int operator()(
int idx) {
return myIndices((
unsigned)idx); }
72 {
return myIndices.getMemoryUsage(); }
80 static void uisort(
unsigned int *input,
int *
index,
int len);
81 static void sisort(
int *input,
int *
index,
int len);
83 static void fisort(
fpreal32 *input,
int len);
85 static void disort(
fpreal64 *input,
int len);
86 static void sisort(
int *input,
int len);
87 static void uisort(
unsigned int *input,
int len);
88 static void disort(
void *input,
size_t size,
int len,
char *tinput);
89 static void fisort(
void *input,
size_t size,
int len,
char *tinput);
90 static void sisort(
void *input,
size_t size,
int len,
char *tinput);
91 static void uisort(
void *input,
size_t size,
int len,
char *tinput);
94 static void urecurse(
unsigned int *input,
int *
index,
int len);
95 static void srecurse(
int *input,
int *
index,
int len);
99 static void frecurse(
fpreal32 *input,
int len);
100 static void drecurse(
fpreal64 *input,
int len);
101 static void srecurse(
int *input,
int len);
102 static void urecurse(
unsigned int *input,
int len);
104 static void drecurse(
void *input,
size_t size,
int len,
106 static void frecurse(
void *input,
size_t size,
int len,
108 static void srecurse(
void *input,
size_t size,
int len,
110 static void urecurse(
void *input,
size_t size,
int len,
UT_QuickSort & resetIndices()
IMATH_HOSTDEVICE constexpr int cmp(T a, T b) IMATH_NOEXCEPT
int64 getUsedRam() const
Return the amount of ram used by this particular object.
void sort(I begin, I end, const Pred &pred)