Lines Matching refs:es
53 #define SWAPINIT(a, es) swaptype = ((char *)a - (char *)0) % sizeof(long) || \
54 es % sizeof(long) ? 2 : es == sizeof(long)? 0 : 1;
71 swapfunc(a, b, es, swaptype)
84 qsort(void *aa, size_t n, size_t es, int (*cmp)(const void *, const void *))
90 loop: SWAPINIT(a, es);
93 for (pm = (char *)a + es; pm < (char *) a + n * es; pm += es)
94 for (pl = pm; pl > (char *) a && cmp(pl - es, pl) > 0;
95 pl -= es)
96 swap(pl, pl - es);
99 pm = (char *)a + (n / 2) * es;
102 pn = (char *)a + (n - 1) * es;
104 d = (n / 8) * es;
112 pa = pb = (char *)a + es;
114 pc = pd = (char *)a + (n - 1) * es;
120 pa += es;
122 pb += es;
128 pd -= es;
130 pc -= es;
136 pb += es;
137 pc -= es;
140 for (pm = (char *) a + es; pm < (char *) a + n * es; pm += es)
141 for (pl = pm; pl > (char *) a && cmp(pl - es, pl) > 0;
142 pl -= es)
143 swap(pl, pl - es);
147 pn = (char *)a + n * es;
150 r = min(pd - pc, pn - pd - (int)es);
152 if ((r = pb - pa) > (int)es)
153 qsort(a, r / es, es, cmp);
154 if ((r = pd - pc) > (int)es) {
157 n = r / es;
160 /* qsort(pn - r, r / es, es, cmp); */