]> granicus.if.org Git - graphviz/commitdiff
topfish make_coarse_graph: use cgraph wrappers for allocation
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 18 Sep 2022 17:13:04 +0000 (10:13 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Wed, 21 Sep 2022 01:11:01 +0000 (18:11 -0700)
The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

lib/topfish/hierarchy.c

index 01c6762d77cea1f65d11891c84d530676458b25f..07f2dd55fdecc5cd6ddd4b28ff80da1175d93e5b 100644 (file)
@@ -345,24 +345,20 @@ static int make_coarse_graph(v_data * graph,      /* array of vtx data for graph */
 // This function takes the information about matched pairs
 // and use it to contract these pairs and build a coarse graph
 {
-    int i, j, cv, v, neighbor, cv_nedges;
+    int j, cv, v, neighbor, cv_nedges;
     int cnedges = 0;           /* number of edges in coarsened graph */
     v_data *cgraph;            /* coarsened version of graph */
-    int *index = N_NEW(cnvtxs, int);
+    int *index = gv_calloc(cnvtxs, sizeof(int));
     float intra_weight;
     /* An upper bound on the number of coarse graph edges. */
     int maxCnedges = nedges;   // do not subtract (nvtxs-cnvtxs) because we do not contract only along edges
     int *edges;
     float *eweights;
 
-    for (i = 0; i < cnvtxs; i++) {
-       index[i] = 0;
-    }
-
     /* Now allocate space for the new graph.  Overeallocate and realloc later. */
-    cgraph = N_NEW(cnvtxs, v_data);
-    edges = N_NEW(2 * maxCnedges + cnvtxs, int);
-    eweights = N_NEW(2 * maxCnedges + cnvtxs, float);
+    cgraph = gv_calloc(cnvtxs, sizeof(v_data));
+    edges = gv_calloc(2 * maxCnedges + cnvtxs, sizeof(int));
+    eweights = gv_calloc(2 * maxCnedges + cnvtxs, sizeof(float));
 
     if (graph[0].ewgts != NULL) {
        // use edge weights