You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.6 KiB
54 lines
1.6 KiB
2 years ago
|
/*!
|
||
|
\file
|
||
|
\brief Data structures and prototypes for GKlib integration
|
||
|
|
||
|
\date Started 12/23/2008
|
||
|
\author George
|
||
|
\version\verbatim $Id: gklib_defs.h 10395 2011-06-23 23:28:06Z karypis $ \endverbatim
|
||
|
*/
|
||
|
|
||
|
#ifndef _LIBMETIS_GKLIB_H_
|
||
|
#define _LIBMETIS_GKLIB_H_
|
||
|
|
||
|
#include "gklib_rename.h"
|
||
|
|
||
|
/*************************************************************************/
|
||
|
/*! Stores a weighted edge */
|
||
|
/*************************************************************************/
|
||
|
typedef struct {
|
||
|
idx_t u, v, w; /*!< Edge (u,v) with weight w */
|
||
|
} uvw_t;
|
||
|
|
||
|
/*************************************************************************
|
||
|
* Define various data structure using GKlib's templates.
|
||
|
**************************************************************************/
|
||
|
GK_MKKEYVALUE_T(ikv_t, idx_t, idx_t)
|
||
|
GK_MKKEYVALUE_T(rkv_t, real_t, idx_t)
|
||
|
GK_MKPQUEUE_T(ipq_t, ikv_t)
|
||
|
GK_MKPQUEUE_T(rpq_t, rkv_t)
|
||
|
|
||
|
|
||
|
/* gklib.c */
|
||
|
GK_MKBLAS_PROTO(i, idx_t, idx_t)
|
||
|
GK_MKBLAS_PROTO(r, real_t, real_t)
|
||
|
GK_MKALLOC_PROTO(i, idx_t)
|
||
|
GK_MKALLOC_PROTO(r, real_t)
|
||
|
GK_MKALLOC_PROTO(ikv, ikv_t)
|
||
|
GK_MKALLOC_PROTO(rkv, rkv_t)
|
||
|
GK_MKPQUEUE_PROTO(ipq, ipq_t, idx_t, idx_t)
|
||
|
GK_MKPQUEUE_PROTO(rpq, rpq_t, real_t, idx_t)
|
||
|
GK_MKRANDOM_PROTO(i, idx_t, idx_t)
|
||
|
GK_MKARRAY2CSR_PROTO(i, idx_t)
|
||
|
void isorti(size_t n, idx_t *base);
|
||
|
void isortd(size_t n, idx_t *base);
|
||
|
void rsorti(size_t n, real_t *base);
|
||
|
void rsortd(size_t n, real_t *base);
|
||
|
void ikvsorti(size_t n, ikv_t *base);
|
||
|
void ikvsortii(size_t n, ikv_t *base);
|
||
|
void ikvsortd(size_t n, ikv_t *base);
|
||
|
void rkvsorti(size_t n, rkv_t *base);
|
||
|
void rkvsortd(size_t n, rkv_t *base);
|
||
|
void uvwsorti(size_t n, uvw_t *base);
|
||
|
|
||
|
#endif
|