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