#include <stdlib.h>
Defines | |
| #define | min(a, b) (a) < (b) ? (a) : (b) |
| #define | swapcode(TYPE, parmi, parmj, n) |
| #define | SWAPINIT(a, es) |
| #define | swap(a, b) |
| #define | vecswap(a, b, n) if ((n) > 0) swapfunc(a, b, n, swaptype) |
| #define | CMP(t, x, y) (cmp((x), (y))) |
| #define | thunk NULL |
Typedefs | |
| typedef int | cmp_t (const void *, const void *) |
Functions | |
| void | qsort (void *a, size_t n, size_t es, cmp_t *cmp) |
| #define CMP | ( | t, | |||
| x, | |||||
| y | ) | (cmp((x), (y))) |
| #define min | ( | a, | |||
| b | ) | (a) < (b) ? (a) : (b) |
| #define swap | ( | a, | |||
| b | ) |
Value:
if (swaptype == 0) { \ long t = *(long *)(a); \ *(long *)(a) = *(long *)(b); \ *(long *)(b) = t; \ } else \ swapfunc(a, b, es, swaptype)
| #define swapcode | ( | TYPE, | |||
| parmi, | |||||
| parmj, | |||||
| n | ) |
Value:
{ \
long i = (n) / sizeof (TYPE); \
register TYPE *pi = (TYPE *) (parmi); \
register TYPE *pj = (TYPE *) (parmj); \
do { \
register TYPE t = *pi; \
*pi++ = *pj; \
*pj++ = t; \
} while (--i > 0); \
}
| #define SWAPINIT | ( | a, | |||
| es | ) |
Value:
swaptype = ((char *)a - (char *)0) % sizeof(long) || \ es % sizeof(long) ? 2 : es == sizeof(long)? 0 : 1;
| #define thunk NULL |
| #define vecswap | ( | a, | |||
| b, | |||||
| n | ) | if ((n) > 0) swapfunc(a, b, n, swaptype) |
| typedef int cmp_t(const void *, const void *) |
| void qsort | ( | void * | a, | |
| size_t | n, | |||
| size_t | es, | |||
| cmp_t * | cmp | |||
| ) |
1.5.2