From: Matthew Fernandez Date: Wed, 9 Jun 2021 02:47:39 +0000 (-0700) Subject: remove unused SparseMatrix_complement X-Git-Tag: 2.48.0~45^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0734a9d0c4bd8f9cd00aa2d892708d7ce3ef9c37;p=graphviz remove unused SparseMatrix_complement --- diff --git a/lib/sparse/SparseMatrix.c b/lib/sparse/SparseMatrix.c index 59241a642..1932b6511 100644 --- a/lib/sparse/SparseMatrix.c +++ b/lib/sparse/SparseMatrix.c @@ -2832,46 +2832,6 @@ SparseMatrix SparseMatrix_set_entries_to_real_one(SparseMatrix A){ } -SparseMatrix SparseMatrix_complement(SparseMatrix A, int undirected){ - /* find the complement graph A^c, such that {i,h}\in E(A_c) iff {i,j} \notin E(A). Only structural matrix is returned. */ - SparseMatrix B = A; - int *ia, *ja; - int m = A->m, n = A->n; - int *mask, nz = 0; - int *irn, *jcn; - int i, j; - - if (undirected) B = SparseMatrix_symmetrize(A, TRUE); - assert(m == n); - - ia = B->ia; ja = B->ja; - mask = MALLOC(sizeof(int)*((size_t)n)); - irn = MALLOC(sizeof(int)*(((size_t)n)*((size_t)n) - ((size_t)A->nz))); - jcn = MALLOC(sizeof(int)*(((size_t)n)*((size_t)n) - ((size_t)A->nz))); - - for (i = 0; i < n; i++){ - mask[i] = -1; - } - - for (i = 0; i < n; i++){ - for (j = ia[i]; j < ia[i+1]; j++){ - mask[ja[j]] = i; - } - for (j = 0; j < n; j++){ - if (mask[j] != i){ - irn[nz] = i; - jcn[nz++] = j; - } - } - } - - if (B != A) SparseMatrix_delete(B); - B = SparseMatrix_from_coordinate_arrays(nz, m, n, irn, jcn, NULL, MATRIX_TYPE_PATTERN, 0); - FREE(irn); - FREE(jcn); - return B; -} - SparseMatrix SparseMatrix_from_dense(int m, int n, real *x){ /* wrap a mxn matrix into a sparse matrix. the {i,j} entry of the matrix is in x[i*n+j], 0<=i