41 const INT *ia = A->
IA;
44 INT i, loc, s, vt, mindg, innz;
51 for (i=0; i<row; ++i) {
52 innz = ia[i+1] - ia[i];
70 CMK_ordering (A, loc, s, vt, mindg, oindex, order);
99 for (i=0; i<row; ++i) rorder[i] = order[row-1-i];
123static void CMK_ordering (
const dCSRmat *A,
132 const INT *ia = A->
IA;
133 const INT *ja = A->
JA;
143 while (loc <= s && s < row) {
147 for (j=ia[i]+1; j<ia[i+1]; ++j) {
158 for (i=sp1+1; i<=s; ++i) {
159 if (oindex[order[i]] > oindex[order[i-1]]) {
161 order[i] = order[i-1];
169 for (i=sp1; i<=s; ++i) oindex[order[i]] = i;
184 if (oindex[i] < 0 && (ia[i+1]-ia[i] == mindg)) {
191 CMK_ordering (A, loc, s, jj, mindg, oindex, order);
void fasp_dcsr_RCMK_order(const dCSRmat *A, INT *order, INT *oindex, INT *rorder)
Resverse CMK ordering.
void fasp_dcsr_CMK_order(const dCSRmat *A, INT *order, INT *oindex)
Ordering vertices of matrix graph corresponding to A.
Main header file for the FASP project.
#define SHORT
FASP integer and floating point numbers.
Sparse matrix of REAL type in CSR format.
INT row
row number of matrix A, m
INT * IA
integer array of row pointers, the size is m+1
INT * JA
integer array of column indexes, the size is nnz