Lines Matching refs:es
46 void qsort(void *a, size_t n, size_t es, cmp_t *cmp);
62 #define SWAPINIT(a, es) swaptype = ((char *)a - (char *)0) % sizeof(long) || \ argument
63 es % sizeof(long) ? 2 : es == sizeof(long)? 0 : 1;
80 swapfunc(a, b, es, swaptype)
93 qsort(void *a, size_t n, size_t es, cmp_t *cmp) in qsort() argument
99 SWAPINIT(a, es); in qsort()
102 for (pm = (char *)a + es; pm < (char *)a + n * es; pm += es) in qsort()
103 for (pl = pm; pl > (char *)a && cmp(pl - es, pl) > 0; in qsort()
104 pl -= es) in qsort()
105 swap(pl, pl - es); in qsort()
108 pm = (char *)a + (n / 2) * es; in qsort()
111 pn = (char *)a + (n - 1) * es; in qsort()
113 d = (n / 8) * es; in qsort()
121 pa = pb = (char *)a + es; in qsort()
123 pc = pd = (char *)a + (n - 1) * es; in qsort()
129 pa += es; in qsort()
131 pb += es; in qsort()
137 pd -= es; in qsort()
139 pc -= es; in qsort()
145 pb += es; in qsort()
146 pc -= es; in qsort()
149 for (pm = (char *)a + es; pm < (char *)a + n * es; pm += es) in qsort()
150 for (pl = pm; pl > (char *)a && cmp(pl - es, pl) > 0; in qsort()
151 pl -= es) in qsort()
152 swap(pl, pl - es); in qsort()
156 pn = (char *)a + n * es; in qsort()
159 r = min(pd - pc, pn - pd - es); in qsort()
161 if ((size_t)(r = pb - pa) > es) in qsort()
162 qsort(a, r / es, es, cmp); in qsort()
163 if ((size_t)(r = pd - pc) > es) { in qsort()
166 n = r / es; in qsort()