]> granicus.if.org Git - graphviz/commitdiff
sparse mq_clustering: remove 'inplace' parameter
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Mon, 2 Jan 2023 00:32:21 +0000 (16:32 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Tue, 3 Jan 2023 02:57:45 +0000 (18:57 -0800)
This is always set to false.

lib/sparse/DotIO.c
lib/sparse/mq.c
lib/sparse/mq.h

index dc02da4d08ff6053b3e9f80991ff49f88fbd1144..757cb8847749803653f2bed273e8dd153bad0a37 100644 (file)
@@ -478,7 +478,7 @@ SparseMatrix Import_coord_clusters_from_dot(Agraph_t* g, int maxcluster, int dim
     if (!clust_sym) clust_sym = agattr(g,AGNODE,"cluster","-1");
 
     if (clustering_scheme == CLUSTERING_MQ){
-      mq_clustering(A, FALSE, maxcluster, use_value,
+      mq_clustering(A, maxcluster, use_value,
                    &nc, clusters, &modularity);
     } else if (clustering_scheme == CLUSTERING_MODULARITY){ 
       modularity_clustering(A, FALSE, maxcluster, use_value,
@@ -665,7 +665,7 @@ void attached_clustering(Agraph_t* g, int maxcluster, int clustering_scheme){
     if (!clust_sym) clust_sym = agattr(g,AGNODE,"cluster","-1");
     
     if (clustering_scheme == CLUSTERING_MQ){
-      mq_clustering(A, FALSE, maxcluster, use_value,
+      mq_clustering(A, maxcluster, use_value,
                    &nc, &clusters, &modularity);
     } else if (clustering_scheme == CLUSTERING_MODULARITY){ 
       modularity_clustering(A, FALSE, maxcluster, use_value,
index b27326712a62cd2767a7db86155bff082a905dfd..1b1303cac9509683fadaa8514868a4b61ab46086 100644 (file)
@@ -589,11 +589,10 @@ static void hierachical_mq_clustering(SparseMatrix A, int maxcluster,
 
 
 
-void mq_clustering(SparseMatrix A, int inplace, int maxcluster, int use_value,
+void mq_clustering(SparseMatrix A, int maxcluster, int use_value,
                           int *nclusters, int **assignment, double *mq){
   /* find a clustering of vertices by maximize mq
      A: symmetric square matrix n x n. If real value, value will be used as edges weights, otherwise edge weights are considered as 1.
-     inplace: whether A can e modified. If true, A will be modified by removing diagonal.
      maxcluster: used to specify the maximum number of cluster desired, e.g., maxcluster=10 means that a maximum of 10 clusters
      .   is desired. this may not always be realized, and mq may be low when this is specified. Default: maxcluster = 0 
      nclusters: on output the number of clusters
@@ -605,7 +604,7 @@ void mq_clustering(SparseMatrix A, int inplace, int maxcluster, int use_value,
 
   B = SparseMatrix_symmetrize(A, false);
 
-  if (!inplace && B == A) {
+  if (B == A) {
     B = SparseMatrix_copy(A);
   }
 
index da68d05bb56e89e035b98ca55e1e2328c9ec4a5e..acc30ef574423dd1c6db808d02aa2464ea4eced3 100644 (file)
@@ -46,7 +46,6 @@ struct Multilevel_MQ_Clustering_struct {
 
 /* find a clustering of vertices by maximize modularity quality
    A: symmetric square matrix n x n. If real value, value will be used as edges weights, otherwise edge weights are considered as 1.
-   inplace: whether A can e modified. If true, A will be modified by removing diagonal.
 
    maxcluster: used to specify the maximum number of cluster desired, e.g., maxcluster=10 means that a maximum of 10 clusters
    .   is desired. this may not always be realized, and modularity quality may be low when this is specified. Default: maxcluster = 0 (no limit)
@@ -57,7 +56,7 @@ struct Multilevel_MQ_Clustering_struct {
    .   If *assignment = NULL on entry, it will be allocated. Otherwise used.
    mq: achieve modularity
 */
-void mq_clustering(SparseMatrix A, int inplace, int maxcluster, int use_value,
+void mq_clustering(SparseMatrix A, int maxcluster, int use_value,
                           int *nclusters, int **assignment, double *mq);
 
 #ifdef __cplusplus