Modular C
C◼real◼ldouble◼qsort◼qsort: symbols inserted from C◼tmpl◼qsort.
+ Collaboration diagram for C◼real◼ldouble◼qsort◼qsort: symbols inserted from C◼tmpl◼qsort.:
void C◼real◼ldouble◼qsort (C◼size nmemb, C◼real◼ldouble base[nmemb])
 A type safe sorting interface. More...
 
#define C◼real◼ldouble◼qsort(A, B)   /* The first _Generic is just for the type check. */ /* The one and only choice can only work when one of the arguments */ /* is a `T*` and the other an integer. */ _Generic((A)+(B), C◼real◼ldouble*: _Generic((A)+0ULL, C◼real◼ldouble*: C◼real◼ldouble◼qsort((C◼uintptr)(B), (void*)(A)), unsigned long long: C◼real◼ldouble◼qsort((C◼uintptr)(A), (void*)(B)), float: C◼real◼ldouble◼qsort((C◼uintptr)(A), (void*)(B)), double: C◼real◼ldouble◼qsort((C◼uintptr)(A), (void*)(B)), long double: C◼real◼ldouble◼qsort((C◼uintptr)(A), (void*)(B)) ))
 A type safe sorting interface. More...
 

Detailed Description

See also
C◼tmpl◼qsort snippet: identifiers inserted directly to an importer for details
This import uses the following slot(s)
slotreplacement
C◼tmpl◼qsort◼TC◼real◼ldouble
C◼tmpl◼qsort◼funcC◼real◼ldouble◼qsort
C◼tmpl◼qsort◼comparC◼real◼ldouble◼compar

Macro Definition Documentation

§ C◼real◼ldouble◼qsort

#define C◼real◼ldouble◼qsort (   A,
 
)    /* The first _Generic is just for the type check. */ /* The one and only choice can only work when one of the arguments */ /* is a `T*` and the other an integer. */ _Generic((A)+(B), C◼real◼ldouble*: _Generic((A)+0ULL, C◼real◼ldouble*: C◼real◼ldouble◼qsort((C◼uintptr)(B), (void*)(A)), unsigned long long: C◼real◼ldouble◼qsort((C◼uintptr)(A), (void*)(B)), float: C◼real◼ldouble◼qsort((C◼uintptr)(A), (void*)(B)), double: C◼real◼ldouble◼qsort((C◼uintptr)(A), (void*)(B)), long double: C◼real◼ldouble◼qsort((C◼uintptr)(A), (void*)(B)) ))

A type safe sorting interface.

This interface allows to have one of A and B to be a pointer to T and the other a number.

Definition at line 195 of file C-real-ldouble-qsort.c.

Function Documentation

§ C◼real◼ldouble◼qsort()

void C◼real◼ldouble◼qsort ( C◼size  nmemb,
C◼real◼ldouble  base[nmemb] 
)
inline

A type safe sorting interface.

Definition at line 183 of file C-real-ldouble-qsort.c.

References C◼lib◼qsort(), and C◼real◼ldouble◼compar().

183  {
184 #line 19 "/home/gustedt/build/cmod/C/C-tmpl-qsort.X"
185  C◼lib◼qsort(base, nmemb, sizeof(base[0]), C◼real◼ldouble◼compar);
186 }
void C◼lib◼qsort(void *, C◼lib◼size, C◼lib◼size, int(*)(void const *, const void *))
int C◼real◼ldouble◼compar(void const *av, void const *bv)
A comparison function as it is needed by C◼tmpl◼bsearch and C◼tmpl◼qsort.
+ Here is the call graph for this function: