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

📄 proto.h

📁 一个用来实现偏微分方程中网格的计算库
💻 H
📖 第 1 页 / 共 2 页
字号:
/* minitpart.c */void MocInit2WayPartition(CtrlType *, GraphType *, float *, float);void MocGrowBisection(CtrlType *, GraphType *, float *, float);void MocRandomBisection(CtrlType *, GraphType *, float *, float);void MocInit2WayBalance(CtrlType *, GraphType *, float *);int SelectQueueoneWay(int, float *, float *, int, PQueueType [MAXNCON][2]);/* minitpart2.c */void MocInit2WayPartition2(CtrlType *, GraphType *, float *, float *);void MocGrowBisection2(CtrlType *, GraphType *, float *, float *);void MocGrowBisectionNew2(CtrlType *, GraphType *, float *, float *);void MocInit2WayBalance2(CtrlType *, GraphType *, float *, float *);int SelectQueueOneWay2(int, float *, PQueueType [MAXNCON][2], float *);/* mkmetis.c */void METIS_mCPartGraphKway(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *);int MCMlevelKWayPartitioning(CtrlType *, GraphType *, int, idxtype *, float *);/* mkwayfmh.c */void MCRandom_KWayEdgeRefineHorizontal(CtrlType *, GraphType *, int, float *, int);void MCGreedy_KWayEdgeBalanceHorizontal(CtrlType *, GraphType *, int, float *, int);int AreAllHVwgtsBelow(int, float, float *, float, float *, float *);int AreAllHVwgtsAbove(int, float, float *, float, float *, float *);void ComputeHKWayLoadImbalance(int, int, float *, float *);int MocIsHBalanced(int, int, float *, float *);int IsHBalanceBetterFT(int, int, float *, float *, float *, float *);int IsHBalanceBetterTT(int, int, float *, float *, float *, float *);/* mkwayrefine.c */void MocRefineKWayHorizontal(CtrlType *, GraphType *, GraphType *, int, float *);void MocAllocateKWayPartitionMemory(CtrlType *, GraphType *, int);void MocComputeKWayPartitionParams(CtrlType *, GraphType *, int);void MocProjectKWayPartition(CtrlType *, GraphType *, int);void MocComputeKWayBalanceBoundary(CtrlType *, GraphType *, int);/* mmatch.c */void MCMatch_RM(CtrlType *, GraphType *);void MCMatch_HEM(CtrlType *, GraphType *);void MCMatch_SHEM(CtrlType *, GraphType *);void MCMatch_SHEBM(CtrlType *, GraphType *, int);void MCMatch_SBHEM(CtrlType *, GraphType *, int);float BetterVBalance(int, int, float *, float *, float *);int AreAllVwgtsBelowFast(int, float *, float *, float);/* mmd.c */void genmmd(int, idxtype *, idxtype *, idxtype *, idxtype *, int , idxtype *, idxtype *, idxtype *, idxtype *, int, int *);void mmdelm(int, idxtype *xadj, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, int, int);int  mmdint(int, idxtype *xadj, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *);void mmdnum(int, idxtype *, idxtype *, idxtype *);void mmdupd(int, int, idxtype *, idxtype *, int, int *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, int, int *tag);/* mpmetis.c */void METIS_mCPartGraphRecursive(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *);void METIS_mCHPartGraphRecursive(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *);void METIS_mCPartGraphRecursiveInternal(int *, int *, idxtype *, idxtype *, float *, idxtype *, int *, int *, int *, idxtype *);void METIS_mCHPartGraphRecursiveInternal(int *, int *, idxtype *, idxtype *, float *, idxtype *, int *, float *, int *, int *, idxtype *);int MCMlevelRecursiveBisection(CtrlType *, GraphType *, int, idxtype *, float, int);int MCHMlevelRecursiveBisection(CtrlType *, GraphType *, int, idxtype *, float *, int);void MCMlevelEdgeBisection(CtrlType *, GraphType *, float *, float);void MCHMlevelEdgeBisection(CtrlType *, GraphType *, float *, float *);/* mrefine.c */void MocRefine2Way(CtrlType *, GraphType *, GraphType *, float *, float);void MocAllocate2WayPartitionMemory(CtrlType *, GraphType *);void MocCompute2WayPartitionParams(CtrlType *, GraphType *);void MocProject2WayPartition(CtrlType *, GraphType *);/* mrefine2.c */void MocRefine2Way2(CtrlType *, GraphType *, GraphType *, float *, float *);/* mutil.c */int AreAllVwgtsBelow(int, float, float *, float, float *, float);int AreAnyVwgtsBelow(int, float, float *, float, float *, float);int AreAllVwgtsAbove(int, float, float *, float, float *, float);float ComputeLoadImbalance(int, int, float *, float *);int AreAllBelow(int, float *, float *);/* myqsort.c */void iidxsort(int, idxtype *);void iintsort(int, int *);void ikeysort(int, KeyValueType *);void ikeyvalsort(int, KeyValueType *);/* ometis.c */void METIS_EdgeND(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); void METIS_NodeND(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); void METIS_NodeWND(int *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); void MlevelNestedDissection(CtrlType *, GraphType *, idxtype *, float, int);void MlevelNestedDissectionCC(CtrlType *, GraphType *, idxtype *, float, int);void MlevelNodeBisectionMultiple(CtrlType *, GraphType *, int *, float);void MlevelNodeBisection(CtrlType *, GraphType *, int *, float);void SplitGraphOrder(CtrlType *, GraphType *, GraphType *, GraphType *);void MMDOrder(CtrlType *, GraphType *, idxtype *, int);int SplitGraphOrderCC(CtrlType *, GraphType *, GraphType *, int, idxtype *, idxtype *);/* parmetis.c */void METIS_PartGraphKway2(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); void METIS_WPartGraphKway2(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); void METIS_NodeNDP(int, idxtype *, idxtype *, int, int *, idxtype *, idxtype *, idxtype *);void MlevelNestedDissectionP(CtrlType *, GraphType *, idxtype *, int, int, int, idxtype *);void METIS_NodeComputeSeparator(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *); void METIS_EdgeComputeSeparator(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *); void METIS_mCPartGraphRecursive2(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part);int MCMlevelRecursiveBisection2(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, idxtype *part, float ubfactor, int fpart);/* pmetis.c */void METIS_PartGraphRecursive(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); void METIS_WPartGraphRecursive(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); int MlevelRecursiveBisection(CtrlType *, GraphType *, int, idxtype *, float *, float, int);void MlevelEdgeBisection(CtrlType *, GraphType *, int *, float);void SplitGraphPart(CtrlType *, GraphType *, GraphType *, GraphType *);void SetUpSplitGraph(GraphType *, GraphType *, int, int);/* pqueue.c */void PQueueInit(CtrlType *ctrl, PQueueType *, int, int);void PQueueReset(PQueueType *);void PQueueFree(CtrlType *ctrl, PQueueType *);int PQueueGetSize(PQueueType *);int PQueueInsert(PQueueType *, int, int);int PQueueDelete(PQueueType *, int, int);int PQueueUpdate(PQueueType *, int, int, int);void PQueueUpdateUp(PQueueType *, int, int, int);int PQueueGetMax(PQueueType *);int PQueueSeeMax(PQueueType *);int PQueueGetKey(PQueueType *);int CheckHeap(PQueueType *);/* refine.c */void Refine2Way(CtrlType *, GraphType *, GraphType *, int *, float ubfactor);void Allocate2WayPartitionMemory(CtrlType *, GraphType *);void Compute2WayPartitionParams(CtrlType *, GraphType *);void Project2WayPartition(CtrlType *, GraphType *);/* separator.c */void ConstructSeparator(CtrlType *, GraphType *, float);void ConstructMinCoverSeparator0(CtrlType *, GraphType *, float);void ConstructMinCoverSeparator(CtrlType *, GraphType *, float);/* sfm.c */void FM_2WayNodeRefine(CtrlType *, GraphType *, float, int);void FM_2WayNodeRefineEqWgt(CtrlType *, GraphType *, int);void FM_2WayNodeRefine_OneSided(CtrlType *, GraphType *, float, int);void FM_2WayNodeBalance(CtrlType *, GraphType *, float);int ComputeMaxNodeGain(int, idxtype *, idxtype *, idxtype *);/* srefine.c */void Refine2WayNode(CtrlType *, GraphType *, GraphType *, float);void Allocate2WayNodePartitionMemory(CtrlType *, GraphType *);void Compute2WayNodePartitionParams(CtrlType *, GraphType *);void Project2WayNodePartition(CtrlType *, GraphType *);/* stat.c */void ComputePartitionInfo(GraphType *, int, idxtype *);void ComputePartitionInfoBipartite(GraphType *, int, idxtype *);void ComputePartitionBalance(GraphType *, int, idxtype *, float *);float ComputeElementBalance(int, int, idxtype *);void Moc_ComputePartitionBalance(GraphType *graph, int nparts, idxtype *where, float *ubvec);/* subdomains.c */void Random_KWayEdgeRefineMConn(CtrlType *, GraphType *, int, float *, float, int, int);void Greedy_KWayEdgeBalanceMConn(CtrlType *, GraphType *, int, float *, float, int);void PrintSubDomainGraph(GraphType *, int, idxtype *);void ComputeSubDomainGraph(GraphType *, int, idxtype *, idxtype *);void EliminateSubDomainEdges(CtrlType *, GraphType *, int, float *);void MoveGroupMConn(CtrlType *, GraphType *, idxtype *, idxtype *, int, int, int, idxtype *);void EliminateComponents(CtrlType *, GraphType *, int, float *, float);void MoveGroup(CtrlType *, GraphType *, int, int, int, idxtype *, idxtype *);/* timing.c */void InitTimers(CtrlType *);void PrintTimers(CtrlType *);double seconds(void);/* util.c */void errexit(char *,...);#ifndef DMALLOCint *imalloc(int, char *);idxtype *idxmalloc(int, char *);float *fmalloc(int, char *);int *ismalloc(int, int, char *);idxtype *idxsmalloc(int, idxtype, char *);void *GKmalloc(int, char *);#endif/*void GKfree(void **,...); */int *iset(int n, int val, int *x);idxtype *idxset(int n, idxtype val, idxtype *x);float *sset(int n, float val, float *x);int iamax(int, int *);int idxamax(int, idxtype *);int idxamax_strd(int, idxtype *, int);int samax(int, float *);int samax2(int, float *);int idxamin(int, idxtype *);int samin(int, float *);int idxsum(int, idxtype *);int idxsum_strd(int, idxtype *, int);void idxadd(int, idxtype *, idxtype *);int charsum(int, char *);int isum(int, int *);float ssum(int, float *);float ssum_strd(int n, float *x, int);void sscale(int n, float, float *x);float snorm2(int, float *);float sdot(int n, float *, float *);void saxpy(int, float, float *, int, float *, int);void RandomPermute(int, idxtype *, int);int ispow2(int);void InitRandom(int);int log2Int(int);/**************************************************************** Programs Directory****************************************************************//* io.c */void ReadGraph(GraphType *, char *, int *);void WritePartition(char *, idxtype *, int, int);void WriteMeshPartition(char *, int, int, idxtype *, int, idxtype *);void WritePermutation(char *, idxtype *, int);int CheckGraph(GraphType *);idxtype *ReadMesh(char *, int *, int *, int *);void WriteGraph(char *, int, idxtype *, idxtype *);/* smbfactor.c */void ComputeFillIn(GraphType *, idxtype *);idxtype ComputeFillIn2(GraphType *, idxtype *);int smbfct(int, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, int *, idxtype *, idxtype *, int *);/**************************************************************** Test Directory****************************************************************/void Test_PartGraph(int, idxtype *, idxtype *);int VerifyPart(int, idxtype *, idxtype *, idxtype *, idxtype *, int, int, idxtype *);int VerifyWPart(int, idxtype *, idxtype *, idxtype *, idxtype *, int, float *, int, idxtype *);void Test_PartGraphV(int, idxtype *, idxtype *);int VerifyPartV(int, idxtype *, idxtype *, idxtype *, idxtype *, int, int, idxtype *);int VerifyWPartV(int, idxtype *, idxtype *, idxtype *, idxtype *, int, float *, int, idxtype *);void Test_PartGraphmC(int, idxtype *, idxtype *);int VerifyPartmC(int, int, idxtype *, idxtype *, idxtype *, idxtype *, int, float *, int, idxtype *);void Test_ND(int, idxtype *, idxtype *);int VerifyND(int, idxtype *, idxtype *);

⌨️ 快捷键说明

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