Lines Matching refs:es
71 qsort(void *a, size_t n, size_t es, int (*cmp)(const void *, const void *));
92 #define SWAPINIT(a, es) swaptype = ((char *)a - (char *)0) % sizeof(long) || \
93 es % sizeof(long) ? 2 : es == sizeof(long)? 0 : 1;
110 swapfunc(a, b, es, swaptype)
124 qsort(void *a, size_t n, size_t es, int (*cmp)(const void *, const void *))
130 loop: SWAPINIT(a, es);
133 for (pm = (char *)a + es; pm < (char *) a + n * es; pm += es)
134 for (pl = pm; pl > (char *) a && cmp(pl - es, pl) > 0;
135 pl -= es)
136 swap(pl, pl - es);
139 pm = (char *)a + (n / 2) * es;
142 pn = (char *)a + (n - 1) * es;
144 d = (n / 8) * es;
152 pa = pb = (char *)a + es;
154 pc = pd = (char *)a + (n - 1) * es;
160 pa += es;
162 pb += es;
168 pd -= es;
170 pc -= es;
176 pb += es;
177 pc -= es;
180 for (pm = (char *)a + es; pm < (char *) a + n * es; pm += es)
181 for (pl = pm; pl > (char *) a && cmp(pl - es, pl) > 0;
182 pl -= es)
183 swap(pl, pl - es);
187 pn = (char *)a + n * es;
190 r = min((size_t)(pd - pc), pn - pd - es);
192 if ((size_t)(r = pb - pa) > es)
193 qsort(a, r / es, es, cmp);
194 if ((size_t)(r = pd - pc) > es) {
197 n = r / es;
200 /* qsort(pn - r, r / es, es, cmp);*/