]> granicus.if.org Git - graphviz/commitdiff
sfdpgen: remove 'coarsen_mode' option that is always set the same
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Fri, 30 Dec 2022 18:00:14 +0000 (10:00 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 31 Dec 2022 19:55:25 +0000 (11:55 -0800)
lib/sfdpgen/Multilevel.c
lib/sfdpgen/Multilevel.h

index 440d0bd665fc0f0e8441201079d3d1bb5f7d3462..d463c343e155a46381e41b6ced62cb66c37272e8 100644 (file)
@@ -21,7 +21,6 @@ Multilevel_control Multilevel_control_new(void) {
   ctrl->min_coarsen_factor = 0.75;
   ctrl->maxlevel = 1<<30;
 
-  ctrl->coarsen_mode = COARSEN_MODE_FORCEFUL;
   return ctrl;
 }
 
@@ -176,7 +175,7 @@ static void Multilevel_coarsen_internal(SparseMatrix A, SparseMatrix *cA, Sparse
   maximal_independent_edge_set_heavest_edge_pernode_supernodes_first(A, &cluster, &clusterp, &ncluster);
   assert(ncluster <= n);
   nc = ncluster;
-  if ((ctrl->coarsen_mode == COARSEN_MODE_GENTLE && nc > ctrl->min_coarsen_factor*n) || nc == n || nc < ctrl->minsize) {
+  if (nc == n || nc < ctrl->minsize) {
 #ifdef DEBUG_PRINT
     if (Verbose)
       fprintf(stderr, "nc = %d, nf = %d, minsz = %d, coarsen_factor = %f coarsening stops\n",nc, n, ctrl->minsize, ctrl->min_coarsen_factor);
@@ -272,7 +271,7 @@ void Multilevel_coarsen(SparseMatrix A, SparseMatrix *cA, SparseMatrix *cD, doub
     A = cA0;
     node_wgt = cnode_wgt0;
     cnode_wgt0 = NULL;
-  } while (nc > ctrl->min_coarsen_factor*n && ctrl->coarsen_mode ==  COARSEN_MODE_FORCEFUL);
+  } while (nc > ctrl->min_coarsen_factor*n);
 
 }
 
index 32e0f6e3c4ddbe53d9b0d290e5273eb0d2ca816b..414dcc2f4b20ce214b123303ba9027141d9e8a18 100644 (file)
@@ -33,13 +33,10 @@ enum {MAX_CLUSTER_SIZE = 4};
 
 enum {EDGE_BASED_STA, COARSEN_INDEPENDENT_EDGE_SET, COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE, COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE_LEAVES_FIRST, COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE_SUPERNODES_FIRST, COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_EDGE_PERNODE_DEGREE_SCALED, COARSEN_INDEPENDENT_EDGE_SET_HEAVEST_CLUSTER_PERNODE_LEAVES_FIRST, EDGE_BASED_STO, VERTEX_BASED_STA, COARSEN_INDEPENDENT_VERTEX_SET, COARSEN_INDEPENDENT_VERTEX_SET_RS, VERTEX_BASED_STO, COARSEN_HYBRID};
 
-enum {COARSEN_MODE_GENTLE, COARSEN_MODE_FORCEFUL};
-
 struct Multilevel_control_struct {
   int minsize;
   double min_coarsen_factor;
   int maxlevel;
-  int coarsen_mode;
 };
 
 typedef struct Multilevel_control_struct *Multilevel_control;