1 /* 2 * Copyright 2001, Regents of the University of Minnesota 3 * 4 * proto.h 5 * 6 * This file contains header files 7 * 8 * George Irene 9 */ 10 11 12 /* coarsen.c */ 13 GraphType *Coarsen(CtrlType *, GraphType *); 14 GraphType *Coarsen_Restricted(CtrlType *, GraphType *); 15 void CreateCoarseGraph(GraphType *, int, idxtype *, idxtype *); 16 GraphType *SetUpCoarseGraph(GraphType *, int); 17 18 19 /* io.c */ 20 void ReadGraph(GraphType *, char *); 21 void TransformGraph(char *); 22 void WritePartition(char *, idxtype *, int, int); 23 void PrintGraph(GraphType *); 24 25 26 /* kwayfm.c */ 27 void Random_KWayARatioRefine(CtrlType *, GraphType *, int); 28 void Random_KWayWeightARatioRefine(CtrlType *, GraphType *, int); 29 void Random_KWaySCutRefine(CtrlType *, GraphType *, int); 30 void Random_KWayMinMaxAverageARatioRefine(CtrlType *, GraphType *, int); 31 void Random_KWayMinMaxARatioRefine(CtrlType *, GraphType *, int); 32 void Random_KWayMultiObjRefine(CtrlType *, GraphType *, int); 33 void Random_KWayMultiObjRefine2(CtrlType *, GraphType *, int); 34 void CheckParams(CtrlType *, GraphType *); 35 36 37 /* match.c */ 38 void Match_RM(CtrlType *, GraphType *); 39 void Match_HEM(CtrlType *, GraphType *); 40 void Match_HEM_Slow(CtrlType *, GraphType *); 41 void Match_HEM_Slow_Restricted(CtrlType *ctrl, GraphType *graph); 42 void Match_HEM_True(CtrlType *, GraphType *); 43 44 45 /* merge.c */ 46 void Cycle(CtrlType *, GraphType *, int); 47 void Merge(CtrlType *, GraphType *, int); 48 void Contribute(CtrlType *, GraphType *, int); 49 void Merge_ARatio(CtrlType *, GraphType *); 50 void Merge_WeightARatio(CtrlType *, GraphType *); 51 void Merge_MinMaxARatio(CtrlType *, GraphType *); 52 void Merge_MultiObj(CtrlType *, GraphType *); 53 void Merge0(CtrlType *, GraphType *); 54 void Contribute_ARatio(CtrlType *, GraphType *); 55 void Contribute_WeightARatio(CtrlType *, GraphType *); 56 void Contribute_MinMaxARatio(CtrlType *, GraphType *); 57 void Contribute_MultiObj(CtrlType *, GraphType *); 58 59 60 /* mgridgen.c */ 61 void MGridGen(int, idxtype *, realtype *, realtype *, idxtype *, realtype *, 62 int, int, int *, int *, int *, idxtype *); 63 void MGridGenRefine(int, idxtype *, realtype *, realtype *, idxtype *, 64 idxtype *, realtype *, int , int , int *, int *, int *, 65 idxtype *); 66 void CreateGrid(CtrlType *, GraphType *); 67 68 69 /* refine.c */ 70 void RefineKWay(CtrlType *, GraphType *, GraphType *, int); 71 void RefineKWayOnce(CtrlType *, GraphType *, int); 72 void ComputeKWayPartitionParams(CtrlType *, GraphType *); 73 void ProjectKWayPartition(GraphType *); 74 void ComputeGridStatistics(CtrlType *, GraphType *); 75 void BreakComponents(CtrlType *, GraphType *); 76 realtype ComputeFunction(int, CtrlType *, GraphType *); 77 void ComputeAllFunctions(CtrlType *, GraphType *); 78 79 80 /* setup.c */ 81 void SetUpGraph(GraphType *, int, idxtype *, realtype *, realtype *, idxtype *, 82 realtype *); 83 void FreeGraph(GraphType *); 84 GraphType *CreateGraph(void); 85 86 87 /* aratio.c */ 88 realtype ARATIO1_2D(realtype, realtype); 89 realtype ARATIO_2D(realtype, realtype); 90 realtype ARATIO2_2D(realtype, realtype); 91 realtype ARATIO1_3D(realtype, realtype); 92 realtype ARATIO_3D(realtype, realtype); 93 realtype ARATIO2_3D(realtype, realtype); 94 typedef realtype (*ASPECTRATIOFUNCTION) (realtype, realtype); 95 extern ASPECTRATIOFUNCTION ARATIO1; 96 extern ASPECTRATIOFUNCTION ARATIO; 97 extern ASPECTRATIOFUNCTION ARATIO2; 98 99