Path: blob/devel/elmergrid/src/metis-5.1.0/libmetis/gklib_defs.h
3206 views
/*!1\file2\brief Data structures and prototypes for GKlib integration34\date Started 12/23/20085\author George6\version\verbatim $Id: gklib_defs.h 10395 2011-06-23 23:28:06Z karypis $ \endverbatim7*/89#ifndef _LIBMETIS_GKLIB_H_10#define _LIBMETIS_GKLIB_H_1112#include "gklib_rename.h"1314/*************************************************************************/15/*! Stores a weighted edge */16/*************************************************************************/17typedef struct {18idx_t u, v, w; /*!< Edge (u,v) with weight w */19} uvw_t;2021/*************************************************************************22* Define various data structure using GKlib's templates.23**************************************************************************/24GK_MKKEYVALUE_T(ikv_t, idx_t, idx_t)25GK_MKKEYVALUE_T(rkv_t, real_t, idx_t)26GK_MKPQUEUE_T(ipq_t, ikv_t)27GK_MKPQUEUE_T(rpq_t, rkv_t)282930/* gklib.c */31GK_MKBLAS_PROTO(i, idx_t, idx_t)32GK_MKBLAS_PROTO(r, real_t, real_t)33GK_MKALLOC_PROTO(i, idx_t)34GK_MKALLOC_PROTO(r, real_t)35GK_MKALLOC_PROTO(ikv, ikv_t)36GK_MKALLOC_PROTO(rkv, rkv_t)37GK_MKPQUEUE_PROTO(ipq, ipq_t, idx_t, idx_t)38GK_MKPQUEUE_PROTO(rpq, rpq_t, real_t, idx_t)39GK_MKRANDOM_PROTO(i, idx_t, idx_t)40GK_MKARRAY2CSR_PROTO(i, idx_t)41void isorti(size_t n, idx_t *base);42void isortd(size_t n, idx_t *base);43void rsorti(size_t n, real_t *base);44void rsortd(size_t n, real_t *base);45void ikvsorti(size_t n, ikv_t *base);46void ikvsortii(size_t n, ikv_t *base);47void ikvsortd(size_t n, ikv_t *base);48void rkvsorti(size_t n, rkv_t *base);49void rkvsortd(size_t n, rkv_t *base);50void uvwsorti(size_t n, uvw_t *base);5152#endif535455