Yet Another eXchange Tool 0.11.2
|
macros to create heapsort implementations More...
Go to the source code of this file.
Macros | |
#define | TOKEN_PASTE(a, b) |
#define | NAME_COMPOSE(a, b) |
#define | XT_SORTFUNC_DECL |
#define | XT_SORTFUNC_DECL_UNDEF |
#define | XT_SORT_EXTRA_ARGS_DECL |
#define | XT_SORT_EXTRA_ARGS_DECL_UNDEF |
#define | XT_SORT_EXTRA_ARGS_PASS |
#define | XT_SORT_EXTRA_ARGS_PASS_UNDEF |
#define | XT_SORT_ASSIGN(a, i, b, j) |
#define | XT_SORT_ASSIGN_UNDEF |
#define | XT_SORT_EXTRA_ARGS_SWAP(i, j) |
#define | XT_SORT_EXTRA_ARGS_SWAP_UNDEF |
#define | XT_HEAPSORT NAME_COMPOSE(xt_heapsort, SORT_TYPE_SUFFIX) |
#define | XT_HEAPIFY NAME_COMPOSE(xt_heapify, SORT_TYPE_SUFFIX) |
#define | SWAP(i, j) |
Functions | |
static size_t | left (size_t i) |
static size_t | right (size_t i) |
static size_t | parent (size_t i) |
XT_SORTFUNC_DECL void | XT_HEAPIFY (SORT_TYPE *restrict v, size_t n, size_t i XT_SORT_EXTRA_ARGS_DECL) |
XT_SORTFUNC_DECL void | XT_HEAPSORT (SORT_TYPE heap[], size_t n XT_SORT_EXTRA_ARGS_DECL) |
macros to create heapsort implementations
Definition in file xt_heapsort_base.h.
#define NAME_COMPOSE | ( | a, | |
b ) |
Definition at line 50 of file xt_heapsort_base.h.
#define SWAP | ( | i, | |
j ) |
Definition at line 97 of file xt_heapsort_base.h.
#define TOKEN_PASTE | ( | a, | |
b ) |
Definition at line 49 of file xt_heapsort_base.h.
#define XT_HEAPIFY NAME_COMPOSE(xt_heapify, SORT_TYPE_SUFFIX) |
Definition at line 94 of file xt_heapsort_base.h.
#define XT_HEAPSORT NAME_COMPOSE(xt_heapsort, SORT_TYPE_SUFFIX) |
Definition at line 93 of file xt_heapsort_base.h.
#define XT_SORT_ASSIGN | ( | a, | |
i, | |||
b, | |||
j ) |
Definition at line 84 of file xt_heapsort_base.h.
#define XT_SORT_ASSIGN_UNDEF |
Definition at line 85 of file xt_heapsort_base.h.
#define XT_SORT_EXTRA_ARGS_DECL |
Definition at line 72 of file xt_heapsort_base.h.
#define XT_SORT_EXTRA_ARGS_DECL_UNDEF |
Definition at line 73 of file xt_heapsort_base.h.
#define XT_SORT_EXTRA_ARGS_PASS |
Definition at line 79 of file xt_heapsort_base.h.
#define XT_SORT_EXTRA_ARGS_PASS_UNDEF |
Definition at line 80 of file xt_heapsort_base.h.
#define XT_SORT_EXTRA_ARGS_SWAP | ( | i, | |
j ) |
Definition at line 89 of file xt_heapsort_base.h.
#define XT_SORT_EXTRA_ARGS_SWAP_UNDEF |
Definition at line 90 of file xt_heapsort_base.h.
#define XT_SORTFUNC_DECL |
Definition at line 66 of file xt_heapsort_base.h.
#define XT_SORTFUNC_DECL_UNDEF |
Definition at line 67 of file xt_heapsort_base.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 118 of file xt_heapsort_base.h.
|
inlinestatic |
XT_SORTFUNC_DECL void XT_HEAPIFY | ( | SORT_TYPE *restrict | v, |
size_t | n, | ||
size_t i | XT_SORT_EXTRA_ARGS_DECL ) |
XT_SORTFUNC_DECL void XT_HEAPSORT | ( | SORT_TYPE | heap[], |
size_t n | XT_SORT_EXTRA_ARGS_DECL ) |
Definition at line 146 of file xt_heapsort_base.h.