Yet Another eXchange Tool
0.9.0
|
macros to create quicksort implementations More...
Go to the source code of this file.
Macros | |
#define | TOKEN_PASTE(a, b) a##_##b |
#define | NAME_COMPOSE(a, b) TOKEN_PASTE(a,b) |
#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_EXTRA_ARGS_SWAP(i, j) |
#define | XT_SORT_EXTRA_ARGS_SWAP_UNDEF |
#define | XT_SORT_EXTRA_ARGS_ADVANCE(adv) |
#define | XT_SORT_EXTRA_ARGS_ADVANCE_UNDEF |
#define | MED3 NAME_COMPOSE(med3,SORT_TYPE_SUFFIX) |
#define | VECSWAP NAME_COMPOSE(vecswap,SORT_TYPE_SUFFIX) |
#define | XT_QUICKSORT NAME_COMPOSE(xt_quicksort,SORT_TYPE_SUFFIX) |
#define | SWAP(i, j) |
#define | MIN(a, b) (((a) < (b)) ? (a) : (b)) |
Functions | |
static size_t | MED3 (const SORT_TYPE *a, size_t i, size_t j, size_t k XT_SORT_EXTRA_ARGS_DECL) |
static void | VECSWAP (SORT_TYPE *restrict a, size_t ia, size_t ib, size_t n XT_SORT_EXTRA_ARGS_DECL) |
void | XT_QUICKSORT (SORT_TYPE *restrict a, size_t n XT_SORT_EXTRA_ARGS_DECL) |
macros to create quicksort implementations
Definition in file xt_quicksort_base.h.
#define MED3 NAME_COMPOSE(med3,SORT_TYPE_SUFFIX) |
Definition at line 137 of file xt_quicksort_base.h.
#define MIN | ( | a, | |
b | |||
) | (((a) < (b)) ? (a) : (b)) |
#define NAME_COMPOSE | ( | a, | |
b | |||
) | TOKEN_PASTE(a,b) |
Definition at line 91 of file xt_quicksort_base.h.
#define SWAP | ( | i, | |
j | |||
) |
Definition at line 152 of file xt_quicksort_base.h.
#define TOKEN_PASTE | ( | a, | |
b | |||
) | a##_##b |
Definition at line 90 of file xt_quicksort_base.h.
#define VECSWAP NAME_COMPOSE(vecswap,SORT_TYPE_SUFFIX) |
Definition at line 138 of file xt_quicksort_base.h.
#define XT_QUICKSORT NAME_COMPOSE(xt_quicksort,SORT_TYPE_SUFFIX) |
Definition at line 139 of file xt_quicksort_base.h.
#define XT_SORT_EXTRA_ARGS_ADVANCE | ( | adv | ) |
Definition at line 133 of file xt_quicksort_base.h.
#define XT_SORT_EXTRA_ARGS_ADVANCE_UNDEF |
Definition at line 134 of file xt_quicksort_base.h.
#define XT_SORT_EXTRA_ARGS_DECL |
Definition at line 116 of file xt_quicksort_base.h.
#define XT_SORT_EXTRA_ARGS_DECL_UNDEF |
Definition at line 117 of file xt_quicksort_base.h.
#define XT_SORT_EXTRA_ARGS_PASS |
Definition at line 123 of file xt_quicksort_base.h.
#define XT_SORT_EXTRA_ARGS_PASS_UNDEF |
Definition at line 124 of file xt_quicksort_base.h.
#define XT_SORT_EXTRA_ARGS_SWAP | ( | i, | |
j | |||
) |
Definition at line 128 of file xt_quicksort_base.h.
#define XT_SORT_EXTRA_ARGS_SWAP_UNDEF |
Definition at line 129 of file xt_quicksort_base.h.
|
inlinestatic |
Definition at line 142 of file xt_quicksort_base.h.
|
inlinestatic |
Definition at line 159 of file xt_quicksort_base.h.
void XT_QUICKSORT | ( | SORT_TYPE *restrict | a, |
size_t n | XT_SORT_EXTRA_ARGS_DECL | ||
) |
Definition at line 165 of file xt_quicksort_base.h.