#include "system.h"
Go to the source code of this file.
Defines | |
#define | NATURAL |
#define | THRESHOLD 16 |
#define | ISIZE sizeof(int) |
#define | PSIZE sizeof(unsigned char *) |
#define | ICOPY_LIST(src, dst, last) |
#define | ICOPY_ELT(src, dst, i) |
#define | CCOPY_LIST(src, dst, last) |
#define | CCOPY_ELT(src, dst, i) |
#define | EVAL(p) |
#define | swap(a, b) |
#define | reverse(bot, top) |
Functions | |
void | insertionsort (unsigned char *a, size_t n, size_t size, int(*cmp)(const void *, const void *)) |
void | setup (unsigned char *list1, unsigned char *list2, size_t n, size_t size, int(*cmp)(const void *, const void *)) |
int | mergesort (void *base, size_t nmemb, size_t size, int(*cmp)(const void *, const void *)) |
|
Value: do \ *dst++ = *src++; \ while (i -= 1) Definition at line 73 of file merge.c. Referenced by mergesort(). |
|
Value: do \ *dst++ = *src++; \ while (src < last) Definition at line 69 of file merge.c. Referenced by mergesort(). |
|
Value: (unsigned char **) \ ((unsigned char *)0 + \ (((unsigned char *)p + PSIZE - 1 - (unsigned char *) 0) & ~(PSIZE - 1))) Definition at line 84 of file merge.c. Referenced by mergesort(), and setup(). |
|
Value: Definition at line 64 of file merge.c. Referenced by mergesort(). |
|
Value: Definition at line 60 of file merge.c. Referenced by mergesort(). |
|
Definition at line 58 of file merge.c. Referenced by mergesort(). |
|
|
|
Definition at line 59 of file merge.c. Referenced by mergesort(). |
|
Value: { \ s = top; \ do { \ i = size; \ do { \ tmp = *bot; *bot++ = *s; *s++ = tmp; \ } while (--i); \ s -= size2; \ } while(bot < s); \ } Definition at line 96 of file merge.c. Referenced by setup(). |
|
Value: { \ s = b; \ i = size; \ do { \ tmp = *a; *a++ = *s; *s++ = tmp; \ } while (--i); \ a -= size; \ } Definition at line 88 of file merge.c. Referenced by insertionsort(), and setup(). |
|
Definition at line 50 of file merge.c. Referenced by setup(). |
|
Definition at line 112 of file merge.c. References swap. Referenced by setup(). |
|
Definition at line 207 of file merge.c. References CCOPY_ELT, CCOPY_LIST, errno, EVAL, ICOPY_ELT, ICOPY_LIST, ISIZE, PSIZE, and setup(). |
|
Definition at line 135 of file merge.c. References EVAL, insertionsort(), reverse, swap, and THRESHOLD. Referenced by mergesort(). |