NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Typedefs
ksort.h File Reference
#include <stdlib.h>
#include <string.h>

Go to the source code of this file.

Classes

struct  ks_isort_stack_t
 

Macros

#define KSORT_SWAP(type_t, a, b)   { register type_t t=(a); (a)=(b); (b)=t; }
 
#define KSORT_INIT(name, type_t, __sort_lt)
 
#define ks_mergesort(name, n, a, t)   ks_mergesort_##name(n, a, t)
 
#define ks_introsort(name, n, a)   ks_introsort_##name(n, a)
 
#define ks_combsort(name, n, a)   ks_combsort_##name(n, a)
 
#define ks_heapsort(name, n, a)   ks_heapsort_##name(n, a)
 
#define ks_heapmake(name, n, a)   ks_heapmake_##name(n, a)
 
#define ks_heapadjust(name, i, n, a)   ks_heapadjust_##name(i, n, a)
 
#define ks_ksmall(name, n, a, k)   ks_ksmall_##name(n, a, k)
 
#define ks_shuffle(name, n, a)   ks_shuffle_##name(n, a)
 
#define ks_lt_generic(a, b)   ((a) < (b))
 
#define ks_lt_str(a, b)   (strcmp((a), (b)) < 0)
 
#define KSORT_INIT_GENERIC(type_t)   KSORT_INIT(type_t, type_t, ks_lt_generic)
 
#define KSORT_INIT_STR   KSORT_INIT(str, ksstr_t, ks_lt_str)
 

Typedefs

typedef const char * ksstr_t
 

Macro Definition Documentation

#define ks_combsort (   name,
  n,
 
)    ks_combsort_##name(n, a)

Definition at line 270 of file ksort.h.

#define ks_heapadjust (   name,
  i,
  n,
 
)    ks_heapadjust_##name(i, n, a)

Definition at line 273 of file ksort.h.

#define ks_heapmake (   name,
  n,
 
)    ks_heapmake_##name(n, a)

Definition at line 272 of file ksort.h.

#define ks_heapsort (   name,
  n,
 
)    ks_heapsort_##name(n, a)

Definition at line 271 of file ksort.h.

#define ks_introsort (   name,
  n,
 
)    ks_introsort_##name(n, a)

Definition at line 269 of file ksort.h.

#define ks_ksmall (   name,
  n,
  a,
 
)    ks_ksmall_##name(n, a, k)

Definition at line 274 of file ksort.h.

#define ks_lt_generic (   a,
 
)    ((a) < (b))

Definition at line 277 of file ksort.h.

#define ks_lt_str (   a,
 
)    (strcmp((a), (b)) < 0)

Definition at line 278 of file ksort.h.

#define ks_mergesort (   name,
  n,
  a,
 
)    ks_mergesort_##name(n, a, t)

Definition at line 268 of file ksort.h.

#define ks_shuffle (   name,
  n,
 
)    ks_shuffle_##name(n, a)

Definition at line 275 of file ksort.h.

#define KSORT_INIT (   name,
  type_t,
  __sort_lt 
)

Definition at line 74 of file ksort.h.

#define KSORT_INIT_GENERIC (   type_t)    KSORT_INIT(type_t, type_t, ks_lt_generic)

Definition at line 282 of file ksort.h.

#define KSORT_INIT_STR   KSORT_INIT(str, ksstr_t, ks_lt_str)

Definition at line 283 of file ksort.h.

#define KSORT_SWAP (   type_t,
  a,
 
)    { register type_t t=(a); (a)=(b); (b)=t; }

Definition at line 72 of file ksort.h.

Typedef Documentation

typedef const char* ksstr_t

Definition at line 280 of file ksort.h.