⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mutil.c

📁 多层权核k均值算法
💻 C
字号:
/* * mutil.c  * * This file contains various utility functions for the MOC portion of the * code * * Started 2/15/98 * George * * $Id: mutil.c,v 1.1 1998/11/27 17:59:27 karypis Exp $ * */#include <metis.h>/************************************************************************** This function checks if the vertex weights of two vertices are below * a given set of values**************************************************************************/int AreAllVwgtsBelow(int ncon, float alpha, float *vwgt1, float beta, float *vwgt2, float limit){  int i;  for (i=0; i<ncon; i++)    if (alpha*vwgt1[i] + beta*vwgt2[i] > limit)      return 0;  return 1;}/************************************************************************** This function checks if the vertex weights of two vertices are below * a given set of values**************************************************************************/int AreAnyVwgtsBelow(int ncon, float alpha, float *vwgt1, float beta, float *vwgt2, float limit){  int i;  for (i=0; i<ncon; i++)    if (alpha*vwgt1[i] + beta*vwgt2[i] < limit)      return 1;  return 0;}/************************************************************************** This function checks if the vertex weights of two vertices are above * a given set of values**************************************************************************/int AreAllVwgtsAbove(int ncon, float alpha, float *vwgt1, float beta, float *vwgt2, float limit){  int i;  for (i=0; i<ncon; i++)    if (alpha*vwgt1[i] + beta*vwgt2[i] < limit)      return 0;  return 1;}/************************************************************************** This function computes the load imbalance over all the constrains* For now assume that we just want balanced partitionings**************************************************************************/ float ComputeLoadImbalance(int ncon, int nparts, float *npwgts, float *tpwgts){  int i, j;  float max, lb=0.0;  for (i=0; i<ncon; i++) {    max = 0.0;    for (j=0; j<nparts; j++) {      if (npwgts[j*ncon+i] > max)        max = npwgts[j*ncon+i];    }    if (max*nparts > lb)      lb = max*nparts;  }  return lb;}/************************************************************************** This function checks if the vertex weights of two vertices are below * a given set of values**************************************************************************/int AreAllBelow(int ncon, float *v1, float *v2){  int i;  for (i=0; i<ncon; i++)    if (v1[i] > v2[i])      return 0;  return 1;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -