Lines Matching defs:cmp
88 static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size_t lp[])
99 if((*cmp)(ar[0], lf) >= 0 && (*cmp)(ar[0], rt) >= 0) {
102 if((*cmp)(lf, rt) >= 0) {
115 static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2], int pshift, int trusty, size_t lp[])
130 if((*cmp)(stepson, ar[0]) <= 0) {
136 if((*cmp)(rt, stepson) >= 0 || (*cmp)(lf, stepson) >= 0) {
150 sift(head, width, cmp, pshift, lp);
154 void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
173 sift(head, width, cmp, pshift, lp);
178 trinkle(head, width, cmp, p, pshift, 0, lp);
180 sift(head, width, cmp, pshift, lp);
196 trinkle(head, width, cmp, p, pshift, 0, lp);
208 trinkle(head - lp[pshift] - width, width, cmp, p, pshift + 1, 1, lp);
211 trinkle(head - width, width, cmp, p, pshift, 1, lp);