From: Matthew Fernandez Date: Fri, 30 Dec 2022 18:00:14 +0000 (-0800) Subject: sfdpgen: remove 'coarsen_mode' option that is always set the same X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a07f7ff146c14db24bed9603b4cbd954d5cfa4f9;p=graphviz sfdpgen: remove 'coarsen_mode' option that is always set the same --- diff --git a/lib/sfdpgen/Multilevel.c b/lib/sfdpgen/Multilevel.c index 440d0bd66..d463c343e 100644 --- a/lib/sfdpgen/Multilevel.c +++ b/lib/sfdpgen/Multilevel.c @@ -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); } diff --git a/lib/sfdpgen/Multilevel.h b/lib/sfdpgen/Multilevel.h index 32e0f6e3c..414dcc2f4 100644 --- a/lib/sfdpgen/Multilevel.h +++ b/lib/sfdpgen/Multilevel.h @@ -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;