Lines Matching refs:a
49 #define min(a, b) (a) < (b) ? a : b argument
65 #define SWAPINIT(a, es) swaptype = ((char *)a - (char *)0) % sizeof(long) || \ argument
69 swapfunc(char *a, char *b, size_t n, int swaptype) in swapfunc() argument
73 swapcode(long, a, b, n) in swapfunc()
75 swapcode(char, a, b, n) in swapfunc()
78 #define swap(a, b) \ argument
80 long t = *(long *)(void *)(a); \
81 *(long *)(void *)(a) = *(long *)(void *)(b); \
84 swapfunc(a, b, es, swaptype)
86 #define vecswap(a, b, n) if ((n) > 0) swapfunc((a), (b), (size_t)(n), swaptype) argument
89 med3(char *a, char *b, char *c, in med3() argument
93 return cmp(a, b) < 0 ? in med3()
94 (cmp(b, c) < 0 ? b : (cmp(a, c) < 0 ? c : a )) in med3()
95 :(cmp(b, c) > 0 ? b : (cmp(a, c) < 0 ? a : c )); in med3()
99 _pqsort(void *a, size_t n, size_t es, in _pqsort() argument
106 loop: SWAPINIT(a, es); in _pqsort()
108 for (pm = (char *) a + es; pm < (char *) a + n * es; pm += es) in _pqsort()
109 for (pl = pm; pl > (char *) a && cmp(pl - es, pl) > 0; in _pqsort()
114 pm = (char *) a + (n / 2) * es; in _pqsort()
116 pl = (char *) a; in _pqsort()
117 pn = (char *) a + (n - 1) * es; in _pqsort()
126 swap(a, pm); in _pqsort()
127 pa = pb = (char *) a + es; in _pqsort()
129 pc = pd = (char *) a + (n - 1) * es; in _pqsort()
131 while (pb <= pc && (cmp_result = cmp(pb, a)) <= 0) { in _pqsort()
138 while (pb <= pc && (cmp_result = cmp(pc, a)) >= 0) { in _pqsort()
152 pn = (char *) a + n * es; in _pqsort()
153 r = min(pa - (char *) a, pb - pa); in _pqsort()
154 vecswap(a, pb - r, r); in _pqsort()
158 void *_l = a, *_r = ((unsigned char*)a)+r-1; in _pqsort()
161 _pqsort(a, r / es, es, cmp, lrange, rrange); in _pqsort()
167 a = pn - r; in _pqsort()
170 _l = a; in _pqsort()
171 _r = ((unsigned char*)a)+r-1; in _pqsort()
180 pqsort(void *a, size_t n, size_t es, in pqsort() argument
183 _pqsort(a,n,es,cmp,((unsigned char*)a)+(lrange*es), in pqsort()
184 ((unsigned char*)a)+((rrange+1)*es)-1); in pqsort()