00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include <metis.h>
00016
00017
00018
00019
00020
00021 void Change2CNumbering(int nvtxs, idxtype *xadj, idxtype *adjncy)
00022 {
00023 int i, nedges;
00024
00025 for (i=0; i<=nvtxs; i++)
00026 xadj[i]--;
00027
00028 nedges = xadj[nvtxs];
00029 for (i=0; i<nedges; i++)
00030 adjncy[i]--;
00031 }
00032
00033
00034
00035
00036 void Change2FNumbering(int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vector)
00037 {
00038 int i, nedges;
00039
00040 for (i=0; i<nvtxs; i++)
00041 vector[i]++;
00042
00043 nedges = xadj[nvtxs];
00044 for (i=0; i<nedges; i++)
00045 adjncy[i]++;
00046
00047 for (i=0; i<=nvtxs; i++)
00048 xadj[i]++;
00049 }
00050
00051
00052
00053
00054 void Change2FNumbering2(int nvtxs, idxtype *xadj, idxtype *adjncy)
00055 {
00056 int i, nedges;
00057
00058 nedges = xadj[nvtxs];
00059 for (i=0; i<nedges; i++)
00060 adjncy[i]++;
00061
00062 for (i=0; i<=nvtxs; i++)
00063 xadj[i]++;
00064 }
00065
00066
00067
00068
00069
00070
00071 void Change2FNumberingOrder(int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *v1, idxtype *v2)
00072 {
00073 int i, nedges;
00074
00075 for (i=0; i<nvtxs; i++) {
00076 v1[i]++;
00077 v2[i]++;
00078 }
00079
00080 nedges = xadj[nvtxs];
00081 for (i=0; i<nedges; i++)
00082 adjncy[i]++;
00083
00084 for (i=0; i<=nvtxs; i++)
00085 xadj[i]++;
00086
00087 }
00088
00089
00090
00091
00092
00093
00094 void ChangeMesh2CNumbering(int n, idxtype *mesh)
00095 {
00096 int i;
00097
00098 for (i=0; i<n; i++)
00099 mesh[i]--;
00100
00101 }
00102
00103
00104
00105
00106
00107 void ChangeMesh2FNumbering(int n, idxtype *mesh, int nvtxs, idxtype *xadj, idxtype *adjncy)
00108 {
00109 int i, nedges;
00110
00111 for (i=0; i<n; i++)
00112 mesh[i]++;
00113
00114 nedges = xadj[nvtxs];
00115 for (i=0; i<nedges; i++)
00116 adjncy[i]++;
00117
00118 for (i=0; i<=nvtxs; i++)
00119 xadj[i]++;
00120
00121 }
00122
00123
00124
00125
00126
00127 void ChangeMesh2FNumbering2(int n, idxtype *mesh, int ne, int nn, idxtype *epart, idxtype *npart)
00128 {
00129 int i, nedges;
00130
00131 for (i=0; i<n; i++)
00132 mesh[i]++;
00133
00134 for (i=0; i<ne; i++)
00135 epart[i]++;
00136
00137 for (i=0; i<nn; i++)
00138 npart[i]++;
00139
00140 }
00141