macros to create quicksort implementations
More...
Go to the source code of this file.
◆ MED3
◆ MIN
Value:(((a) < (b)) ? (a) : (b))
◆ NAME_COMPOSE
#define NAME_COMPOSE |
( |
| a, |
|
|
| b ) |
◆ SWAP
Value: do { \
XT_SORT_EXTRA_ARGS_SWAP(i, j); \
} while (0)
Definition at line 179 of file xt_quicksort_base.h.
◆ TOKEN_PASTE
#define TOKEN_PASTE |
( |
| a, |
|
|
| b ) |
◆ VECSWAP
◆ XT_QUICKSORT
◆ XT_QUICKSORT_INNER
◆ XT_SORT_EXTRA_ARGS_ADVANCE
#define XT_SORT_EXTRA_ARGS_ADVANCE |
( |
| adv | ) |
|
◆ XT_SORT_EXTRA_ARGS_ADVANCE_UNDEF
#define XT_SORT_EXTRA_ARGS_ADVANCE_UNDEF |
◆ XT_SORT_EXTRA_ARGS_DECL
#define XT_SORT_EXTRA_ARGS_DECL |
◆ XT_SORT_EXTRA_ARGS_DECL_UNDEF
#define XT_SORT_EXTRA_ARGS_DECL_UNDEF |
◆ XT_SORT_EXTRA_ARGS_PASS
#define XT_SORT_EXTRA_ARGS_PASS |
◆ XT_SORT_EXTRA_ARGS_PASS_UNDEF
#define XT_SORT_EXTRA_ARGS_PASS_UNDEF |
◆ XT_SORT_EXTRA_ARGS_SWAP
#define XT_SORT_EXTRA_ARGS_SWAP |
( |
| i, |
|
|
| j ) |
◆ XT_SORT_EXTRA_ARGS_SWAP_UNDEF
#define XT_SORT_EXTRA_ARGS_SWAP_UNDEF |
◆ XT_SORT_MED3_EXTRA_ARGS_DECL
◆ XT_SORT_MED3_EXTRA_ARGS_DECL_UNDEF
#define XT_SORT_MED3_EXTRA_ARGS_DECL_UNDEF |
◆ XT_SORT_MED3_EXTRA_ARGS_PASS
◆ XT_SORT_MED3_EXTRA_ARGS_PASS_UNDEF
#define XT_SORT_MED3_EXTRA_ARGS_PASS_UNDEF |
◆ XT_SORT_VECSWAP_EXTRA_ARGS_DECL
◆ XT_SORT_VECSWAP_EXTRA_ARGS_DECL_UNDEF
#define XT_SORT_VECSWAP_EXTRA_ARGS_DECL_UNDEF |
◆ XT_SORT_VECSWAP_EXTRA_ARGS_PASS
◆ XT_SORT_VECSWAP_EXTRA_ARGS_PASS_UNDEF
#define XT_SORT_VECSWAP_EXTRA_ARGS_PASS_UNDEF |
◆ XT_SORTFUNC_DECL
◆ XT_SORTFUNC_DECL_UNDEF
#define XT_SORTFUNC_DECL_UNDEF |
◆ MED3()
static size_t MED3 |
( |
const SORT_TYPE * | a, |
|
|
size_t | i, |
|
|
size_t | j, |
|
|
size_t k | XT_SORT_MED3_EXTRA_ARGS_DECL ) |
|
inlinestatic |
◆ VECSWAP()
static void VECSWAP |
( |
SORT_TYPE *restrict | a, |
|
|
size_t | ia, |
|
|
size_t | ib, |
|
|
size_t n | XT_SORT_VECSWAP_EXTRA_ARGS_DECL ) |
|
inlinestatic |
◆ XT_QUICKSORT()
◆ XT_QUICKSORT_INNER()
static void XT_QUICKSORT_INNER |
( |
SORT_TYPE *restrict | a, |
|
|
size_t n | XT_SORT_EXTRA_ARGS_DECL ) |
|
static |