hp2FEM  0.1
Defines | Functions
src/metis-5.0/GKlib/sort.c File Reference

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

#include <GKlib.h>
Include dependency graph for sort.c:

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)

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 7612 2009-11-29 15:46:31Z karypis $ 

Function Documentation

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

 All Classes Files Functions Variables Typedefs Friends Defines