|
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.