Yet Another eXchange Tool  DO_NOT_EDIT_HERE
Macros | Functions
xt_quicksort_base.h File Reference

macros to create quicksort implementations More...

This graph shows which files directly or indirectly include this file:

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 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(a, b)
 
#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
 

Functions

static SORT_TYPEMED3 (SORT_TYPE *a, SORT_TYPE *b, SORT_TYPE *c)
 
static void VECSWAP (SORT_TYPE *restrict a, SORT_TYPE *restrict b, size_t n)
 
void XT_QUICKSORT (SORT_TYPE *a, size_t n)
 

Detailed Description

macros to create quicksort implementations

Author
Jörg Behrens behre.nosp@m.ns@d.nosp@m.krz.d.nosp@m.e Moritz Hanke hanke.nosp@m.@dkr.nosp@m.z.de Thomas Jahns jahns.nosp@m.@dkr.nosp@m.z.de

Definition in file xt_quicksort_base.h.

Macro Definition Documentation

◆ MED3

#define MED3   NAME_COMPOSE(med3,SORT_TYPE_SUFFIX)

Definition at line 103 of file xt_quicksort_base.h.

◆ MIN

#define MIN (   a,
 
)    (((a) < (b)) ? (a) : (b))

◆ NAME_COMPOSE

#define NAME_COMPOSE (   a,
 
)    TOKEN_PASTE(a,b)

Definition at line 91 of file xt_quicksort_base.h.

◆ SWAP

#define SWAP (   a,
 
)
Value:
do { \
SORT_TYPE t = a; a = b; b = t; \
} while (0)

Definition at line 116 of file xt_quicksort_base.h.

◆ TOKEN_PASTE

#define TOKEN_PASTE (   a,
 
)    a##_##b

Definition at line 90 of file xt_quicksort_base.h.

◆ VECSWAP

#define VECSWAP   NAME_COMPOSE(vecswap,SORT_TYPE_SUFFIX)

Definition at line 104 of file xt_quicksort_base.h.

◆ XT_QUICKSORT

#define XT_QUICKSORT   NAME_COMPOSE(xt_quicksort,SORT_TYPE_SUFFIX)

Definition at line 105 of file xt_quicksort_base.h.

Function Documentation

◆ MED3()

static SORT_TYPE* MED3 ( SORT_TYPE a,
SORT_TYPE b,
SORT_TYPE c 
)
inlinestatic

Definition at line 108 of file xt_quicksort_base.h.

◆ VECSWAP()

static void VECSWAP ( SORT_TYPE *restrict  a,
SORT_TYPE *restrict  b,
size_t  n 
)
inlinestatic

Definition at line 122 of file xt_quicksort_base.h.

◆ XT_QUICKSORT()

void XT_QUICKSORT ( SORT_TYPE a,
size_t  n 
)

Definition at line 131 of file xt_quicksort_base.h.