| 
    hp2FEM
    0.1
    
   
   | 
  
  
  
 
This file contains GKlib's various sorting routines. More...
#include <GKlib.h>
Defines | |
| #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 | 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_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) | 
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.
$Id: sort.c 7612 2009-11-29 15:46:31Z karypis $
| void gk_ckvsortd | ( | size_t | n, | 
| gk_ckv_t * | base | ||
| ) | 
Sorts an array of gk_ckv_t in decreasing order
| void gk_ckvsorti | ( | size_t | n, | 
| gk_ckv_t * | base | ||
| ) | 
Sorts an array of gk_ckv_t in increasing order
| void gk_csortd | ( | size_t | n, | 
| char * | base | ||
| ) | 
Sorts an array of chars in decreasing order
| void gk_csorti | ( | size_t | n, | 
| char * | base | ||
| ) | 
Sorts an array of chars in increasing order
| void gk_dkvsortd | ( | size_t | n, | 
| gk_dkv_t * | base | ||
| ) | 
Sorts an array of gk_fkv_t in decreasing order
| void gk_dkvsorti | ( | size_t | n, | 
| gk_dkv_t * | base | ||
| ) | 
Sorts an array of gk_dkv_t in increasing order
| void gk_dsortd | ( | size_t | n, | 
| double * | base | ||
| ) | 
Sorts an array of doubles in decreasing order
| void gk_dsorti | ( | size_t | n, | 
| double * | base | ||
| ) | 
Sorts an array of doubles in increasing order
| void gk_fkvsortd | ( | size_t | n, | 
| gk_fkv_t * | base | ||
| ) | 
Sorts an array of gk_fkv_t in decreasing order
| void gk_fkvsorti | ( | size_t | n, | 
| gk_fkv_t * | base | ||
| ) | 
Sorts an array of gk_fkv_t in increasing order
| void gk_fsortd | ( | size_t | n, | 
| float * | base | ||
| ) | 
Sorts an array of floats in decreasing order
| void gk_fsorti | ( | size_t | n, | 
| float * | base | ||
| ) | 
Sorts an array of floats in increasing order
| void gk_i32kvsortd | ( | size_t | n, | 
| gk_i32kv_t * | base | ||
| ) | 
Sorts an array of gk_i32kv_t in decreasing order
| void gk_i32kvsorti | ( | size_t | n, | 
| gk_i32kv_t * | base | ||
| ) | 
Sorts an array of gk_i32kv_t in increasing order
| void gk_i64kvsortd | ( | size_t | n, | 
| gk_i64kv_t * | base | ||
| ) | 
Sorts an array of gk_i64kv_t in decreasing order
| void gk_i64kvsorti | ( | size_t | n, | 
| gk_i64kv_t * | base | ||
| ) | 
Sorts an array of gk_i64kv_t in increasing order
| void gk_idxkvsortd | ( | size_t | n, | 
| gk_idxkv_t * | base | ||
| ) | 
Sorts an array of gk_idxkv_t in decreasing order
| void gk_idxkvsorti | ( | size_t | n, | 
| gk_idxkv_t * | base | ||
| ) | 
Sorts an array of gk_idxkv_t in increasing order
| void gk_idxsortd | ( | size_t | n, | 
| gk_idx_t * | base | ||
| ) | 
Sorts an array of gk_idx_t in decreasing order
| void gk_idxsorti | ( | size_t | n, | 
| gk_idx_t * | base | ||
| ) | 
Sorts an array of gk_idx_t in increasing order
| void gk_ikvsortd | ( | size_t | n, | 
| gk_ikv_t * | base | ||
| ) | 
Sorts an array of gk_ikv_t in decreasing order
| void gk_ikvsorti | ( | size_t | n, | 
| gk_ikv_t * | base | ||
| ) | 
Sorts an array of gk_ikv_t in increasing order
| void gk_isortd | ( | size_t | n, | 
| int * | base | ||
| ) | 
Sorts an array of integers in decreasing order
| void gk_isorti | ( | size_t | n, | 
| int * | base | ||
| ) | 
Sorts an array of integers in increasing order
| void gk_skvsortd | ( | size_t | n, | 
| gk_skv_t * | base | ||
| ) | 
Sorts an array of gk_skv_t in decreasing order
| void gk_skvsorti | ( | size_t | n, | 
| gk_skv_t * | base | ||
| ) | 
Sorts an array of gk_skv_t in increasing order
 1.7.6.1