#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 | |||
) |