SU2
Macros | Functions
sort.c File Reference

This file contains GKlib's various sorting routines. More...

#include <GKlib.h>

Macros

#define char_lt(a, b)   ((*a) < (*b))
 
#define char_gt(a, b)   ((*a) > (*b))
 
#define int_lt(a, b)   ((*a) < (*b))
 
#define int_gt(a, b)   ((*a) > (*b))
 
#define float_lt(a, b)   ((*a) < (*b))
 
#define float_gt(a, b)   ((*a) > (*b))
 
#define double_lt(a, b)   ((*a) < (*b))
 
#define double_gt(a, b)   ((*a) > (*b))
 
#define idx_lt(a, b)   ((*a) < (*b))
 
#define idx_gt(a, b)   ((*a) > (*b))
 
#define ckey_lt(a, b)   ((a)->key < (b)->key)
 
#define ckey_gt(a, b)   ((a)->key > (b)->key)
 
#define ikey_lt(a, b)   ((a)->key < (b)->key)
 
#define ikey_gt(a, b)   ((a)->key > (b)->key)
 
#define ikey_lt(a, b)   ((a)->key < (b)->key)
 
#define ikey_gt(a, b)   ((a)->key > (b)->key)
 
#define ikey_lt(a, b)   ((a)->key < (b)->key)
 
#define ikey_gt(a, b)   ((a)->key > (b)->key)
 
#define zkey_lt(a, b)   ((a)->key < (b)->key)
 
#define zkey_gt(a, b)   ((a)->key > (b)->key)
 
#define fkey_lt(a, b)   ((a)->key < (b)->key)
 
#define fkey_gt(a, b)   ((a)->key > (b)->key)
 
#define dkey_lt(a, b)   ((a)->key < (b)->key)
 
#define dkey_gt(a, b)   ((a)->key > (b)->key)
 
#define skey_lt(a, b)   (strcmp((a)->key, (b)->key) < 0)
 
#define skey_gt(a, b)   (strcmp((a)->key, (b)->key) > 0)
 
#define idxkey_lt(a, b)   ((a)->key < (b)->key)
 
#define idxkey_gt(a, b)   ((a)->key > (b)->key)
 

Functions

void gk_csorti (size_t n, char *base)
 
void gk_csortd (size_t n, char *base)
 
void gk_isorti (size_t n, int *base)
 
void gk_isortd (size_t n, int *base)
 
void gk_fsorti (size_t n, float *base)
 
void gk_fsortd (size_t n, float *base)
 
void gk_dsorti (size_t n, double *base)
 
void gk_dsortd (size_t n, double *base)
 
void gk_idxsorti (size_t n, gk_idx_t *base)
 
void gk_idxsortd (size_t n, gk_idx_t *base)
 
void gk_ckvsorti (size_t n, gk_ckv_t *base)
 
void gk_ckvsortd (size_t n, gk_ckv_t *base)
 
void gk_ikvsorti (size_t n, gk_ikv_t *base)
 
void gk_ikvsortd (size_t n, gk_ikv_t *base)
 
void gk_i32kvsorti (size_t n, gk_i32kv_t *base)
 
void gk_i32kvsortd (size_t n, gk_i32kv_t *base)
 
void gk_i64kvsorti (size_t n, gk_i64kv_t *base)
 
void gk_i64kvsortd (size_t n, gk_i64kv_t *base)
 
void gk_zkvsorti (size_t n, gk_zkv_t *base)
 
void gk_zkvsortd (size_t n, gk_zkv_t *base)
 
void gk_fkvsorti (size_t n, gk_fkv_t *base)
 
void gk_fkvsortd (size_t n, gk_fkv_t *base)
 
void gk_dkvsorti (size_t n, gk_dkv_t *base)
 
void gk_dkvsortd (size_t n, gk_dkv_t *base)
 
void gk_skvsorti (size_t n, gk_skv_t *base)
 
void gk_skvsortd (size_t n, gk_skv_t *base)
 
void gk_idxkvsorti (size_t n, gk_idxkv_t *base)
 
void gk_idxkvsortd (size_t n, gk_idxkv_t *base)
 

Detailed Description

This file contains GKlib's various sorting routines.

These routines are implemented using the GKSORT macro that is defined in gk_qsort.h and is based on GNU's GLIBC qsort() implementation.

Additional sorting routines can be created using the same way that these routines where defined.

Date
Started 4/4/07
Author
George
Version
$Id: sort.c 10796 2011-09-23 21:33:09Z karypis $ 

Function Documentation

§ gk_ckvsortd()

void gk_ckvsortd ( size_t  n,
gk_ckv_t *  base 
)

Sorts an array of gk_ckv_t in decreasing order

§ gk_ckvsorti()

void gk_ckvsorti ( size_t  n,
gk_ckv_t *  base 
)

Sorts an array of gk_ckv_t in increasing order

§ gk_csortd()

void gk_csortd ( size_t  n,
char *  base 
)

Sorts an array of chars in decreasing order

§ gk_csorti()

void gk_csorti ( size_t  n,
char *  base 
)

Sorts an array of chars in increasing order

§ gk_dkvsortd()

void gk_dkvsortd ( size_t  n,
gk_dkv_t *  base 
)

Sorts an array of gk_fkv_t in decreasing order

§ gk_dkvsorti()

void gk_dkvsorti ( size_t  n,
gk_dkv_t *  base 
)

Sorts an array of gk_dkv_t in increasing order

§ gk_dsortd()

void gk_dsortd ( size_t  n,
double *  base 
)

Sorts an array of doubles in decreasing order

§ gk_dsorti()

void gk_dsorti ( size_t  n,
double *  base 
)

Sorts an array of doubles in increasing order

§ gk_fkvsortd()

void gk_fkvsortd ( size_t  n,
gk_fkv_t *  base 
)

Sorts an array of gk_fkv_t in decreasing order

§ gk_fkvsorti()

void gk_fkvsorti ( size_t  n,
gk_fkv_t *  base 
)

Sorts an array of gk_fkv_t in increasing order

§ gk_fsortd()

void gk_fsortd ( size_t  n,
float *  base 
)

Sorts an array of floats in decreasing order

§ gk_fsorti()

void gk_fsorti ( size_t  n,
float *  base 
)

Sorts an array of floats in increasing order

§ gk_i32kvsortd()

void gk_i32kvsortd ( size_t  n,
gk_i32kv_t *  base 
)

Sorts an array of gk_i32kv_t in decreasing order

§ gk_i32kvsorti()

void gk_i32kvsorti ( size_t  n,
gk_i32kv_t *  base 
)

Sorts an array of gk_i32kv_t in increasing order

§ gk_i64kvsortd()

void gk_i64kvsortd ( size_t  n,
gk_i64kv_t *  base 
)

Sorts an array of gk_i64kv_t in decreasing order

§ gk_i64kvsorti()

void gk_i64kvsorti ( size_t  n,
gk_i64kv_t *  base 
)

Sorts an array of gk_i64kv_t in increasing order

§ gk_idxkvsortd()

void gk_idxkvsortd ( size_t  n,
gk_idxkv_t *  base 
)

Sorts an array of gk_idxkv_t in decreasing order

§ gk_idxkvsorti()

void gk_idxkvsorti ( size_t  n,
gk_idxkv_t *  base 
)

Sorts an array of gk_idxkv_t in increasing order

§ gk_idxsortd()

void gk_idxsortd ( size_t  n,
gk_idx_t *  base 
)

Sorts an array of gk_idx_t in decreasing order

§ gk_idxsorti()

void gk_idxsorti ( size_t  n,
gk_idx_t *  base 
)

Sorts an array of gk_idx_t in increasing order

§ gk_ikvsortd()

void gk_ikvsortd ( size_t  n,
gk_ikv_t *  base 
)

Sorts an array of gk_ikv_t in decreasing order

§ gk_ikvsorti()

void gk_ikvsorti ( size_t  n,
gk_ikv_t *  base 
)

Sorts an array of gk_ikv_t in increasing order

§ gk_isortd()

void gk_isortd ( size_t  n,
int *  base 
)

Sorts an array of integers in decreasing order

§ gk_isorti()

void gk_isorti ( size_t  n,
int *  base 
)

Sorts an array of integers in increasing order

§ gk_skvsortd()

void gk_skvsortd ( size_t  n,
gk_skv_t *  base 
)

Sorts an array of gk_skv_t in decreasing order

§ gk_skvsorti()

void gk_skvsorti ( size_t  n,
gk_skv_t *  base 
)

Sorts an array of gk_skv_t in increasing order

§ gk_zkvsortd()

void gk_zkvsortd ( size_t  n,
gk_zkv_t *  base 
)

Sorts an array of gk_zkv_t in decreasing order

§ gk_zkvsorti()

void gk_zkvsorti ( size_t  n,
gk_zkv_t *  base 
)

Sorts an array of gk_zkv_t in increasing order