]> granicus.if.org Git - graphviz/commitdiff
remove 'FREE' abstraction
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 6 Nov 2021 00:26:48 +0000 (17:26 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Wed, 10 Nov 2021 14:46:50 +0000 (06:46 -0800)
This #define was not conditional (it was always set to `free`) and was not used
consistently (there were still direct calls to `free` in some places that should
have used this macro), incorrectly giving the impression that it could be safely
swapped for another function.

31 files changed:
cmd/gvmap/gvmap.c
cmd/gvmap/make_map.c
cmd/gvmap/power.c
cmd/mingle/minglemain.c
cmd/tools/matrix_market.c
cmd/tools/mm2gv.c
lib/edgepaint/edge_distinct_coloring.c
lib/edgepaint/furtherest_point.c
lib/edgepaint/lab.c
lib/edgepaint/node_distinct_coloring.c
lib/mingle/agglomerative_bundling.c
lib/mingle/edge_bundling.c
lib/mingle/nearest_neighbor_graph.c
lib/neatogen/delaunay.c
lib/neatogen/overlap.c
lib/sfdpgen/Multilevel.c
lib/sfdpgen/post_process.c
lib/sfdpgen/sfdpinit.c
lib/sfdpgen/sparse_solve.c
lib/sfdpgen/spring_electrical.c
lib/sfdpgen/uniform_stress.c
lib/sparse/BinaryHeap.c
lib/sparse/DotIO.c
lib/sparse/IntStack.c
lib/sparse/LinkedList.c
lib/sparse/QuadTree.c
lib/sparse/SparseMatrix.c
lib/sparse/clustering.c
lib/sparse/general.c
lib/sparse/general.h
lib/sparse/mq.c

index 0f33707fc3a70ea2789c591ebeb51f81bb8d8898..1c5ed58406d3a2aabd09e53e8fe0a7c627329322 100644 (file)
@@ -422,9 +422,9 @@ makeMap (SparseMatrix graph, int n, real* x, real* width, int* grouping,
   SparseMatrix_delete(polys);
   SparseMatrix_delete(poly_lines);
   SparseMatrix_delete(poly_point_map);
-  FREE(xcombined);
-  FREE(x_poly);
-  FREE(polys_groups);
+  free(xcombined);
+  free(x_poly);
+  free(polys_groups);
 }
 
 
index 83a231843cfb77462d05296e4beab13d32f979cb..188f33e5bf08fded6d0a7f2d00e71e38627deda9 100644 (file)
@@ -62,7 +62,7 @@ void map_palette_optimal_coloring(char *color_scheme, char *lightness, SparseMat
     SparseMatrix_distance_matrix(A, 0, &dist);
     SparseMatrix_delete(A);
     A = SparseMatrix_from_dense(n, n, dist);
-    FREE(dist);
+    free(dist);
     A = SparseMatrix_remove_diagonal(A);
     SparseMatrix_export(stdout, A);
   }
@@ -81,8 +81,7 @@ void map_palette_optimal_coloring(char *color_scheme, char *lightness, SparseMat
     (*rgb_g)[i+1] = (float) colors[cdim*i + 1];
     (*rgb_b)[i+1] = (float) colors[cdim*i + 2];
   }
-  FREE(colors);
-
+  free(colors);
 }
 
 void map_optimal_coloring(int seed, SparseMatrix A, float *rgb_r,  float *rgb_g, float *rgb_b){
@@ -100,8 +99,7 @@ void map_optimal_coloring(int seed, SparseMatrix A, float *rgb_r,  float *rgb_g,
   for (i = 0; i < n; i++) rgb_g[i] = u[i];
   vector_float_take(n, rgb_b, n, p, &u);
   for (i = 0; i < n; i++) rgb_b[i] = u[i];
-  FREE(u);
-
+  free(u);
 }
 
 static int get_poly_id(int ip, SparseMatrix point_poly_map){
@@ -309,9 +307,8 @@ static void plot_dot_polygons(agxbuf *sbuff, real line_width,
       dot_one_poly(sbuff, -1, 1, np, xp, yp, cstring);
     }
   }
-  FREE(xp);
-  FREE(yp);
-
+  free(xp);
+  free(yp);
 }
 
 void plot_dot_map(Agraph_t* gr, int n, int dim, real *x, SparseMatrix polys,
@@ -410,7 +407,7 @@ static void get_tri(int n, int dim, real *x, int *nt, struct Triangle **T, Spars
 
   *nt = ntri;
 
-  FREE(trilist);
+  free(trilist);
 }
 
 static SparseMatrix get_country_graph(int n, SparseMatrix A, int *groups, int GRP_RANDOM, int GRP_BBOX){
@@ -470,8 +467,8 @@ static void conn_comp(int n, SparseMatrix A, int *groups, SparseMatrix *poly_poi
   SparseMatrix_delete(B);
   SparseMatrix_delete(BB);
   *poly_point_map = SparseMatrix_new(ncomps, n, n, MATRIX_TYPE_PATTERN, FORMAT_CSR);
-  FREE((*poly_point_map)->ia);
-  FREE((*poly_point_map)->ja);
+  free((*poly_point_map)->ia);
+  free((*poly_point_map)->ja);
   (*poly_point_map)->ia = comps_ptr;
   (*poly_point_map)->ja = comps;
   (*poly_point_map)->nz = n;
@@ -635,8 +632,8 @@ static void get_poly_lines(int exclude_random, int nt, SparseMatrix graph, Spars
   SparseMatrix_delete(*poly_lines);
   *poly_lines = A;
 
-  FREE(tlist);
-  FREE(elist);
+  free(tlist);
+  free(elist);
 }
 
 static void plot_cycle(int head, int *cycle, int *edge_table, real *x){
@@ -939,13 +936,13 @@ static void get_polygon_solids(int nt, SparseMatrix E, int ncomps, int *comps_pt
   *polys = B;
   
   SparseMatrix_delete(half_edges);
-  FREE(cycle);
-  FREE(edge_cycle_map);
-  FREE(elist);
-  FREE(emask);
-  FREE(edge_table);
-
+  free(cycle);
+  free(edge_cycle_map);
+  free(elist);
+  free(emask);
+  free(edge_table);
 }
+
 static void get_polygons(int exclude_random, int n, int nrandom, int dim, SparseMatrix graph, int *grouping,
                         int nt, struct Triangle *Tp, SparseMatrix E, int *nverts, real **x_poly, 
                         int *npolys, SparseMatrix *poly_lines, SparseMatrix *polys, int **polys_groups, SparseMatrix *poly_point_map, SparseMatrix *country_graph){
@@ -1025,8 +1022,8 @@ static void get_polygons(int exclude_random, int n, int nrandom, int dim, Sparse
   B = get_country_graph(n, E, groups, GRP_RANDOM, GRP_BBOX);
   *country_graph = B;
 
-  FREE(groups);
-  FREE(mask);
+  free(groups);
+  free(mask);
 }
 
 static int make_map_internal(int exclude_random, int include_OK_points,
@@ -1279,7 +1276,7 @@ static int make_map_internal(int exclude_random, int include_OK_points,
       *nrandom += n - nh;/* count everything except cluster HIGHLIGHT_SET as random */
       n = nh;
       if (Verbose) fprintf(stderr,"nh = %d\n",nh);
-      FREE(xtemp);
+      free(xtemp);
     }
   }
 
@@ -1288,10 +1285,10 @@ static int make_map_internal(int exclude_random, int include_OK_points,
               poly_point_map, country_graph);
 
   SparseMatrix_delete(E);
-  FREE(Tp);
-  FREE(xran);
-  if (grouping != grouping0) FREE(grouping);
-  if (x != x0) FREE(x);
+  free(Tp);
+  free(xran);
+  if (grouping != grouping0) free(grouping);
+  if (x != x0) free(x);
   return 0;
 }
 
@@ -1585,8 +1582,8 @@ int make_map_from_rectangle_groups(int exclude_random, int include_OK_points,
                            shore_depth_tol, xcombined, nverts, x_poly, 
                            npolys, poly_lines, polys, polys_groups, poly_point_map, country_graph, highlight_cluster, flag);
     if (graph != graph0) SparseMatrix_delete(graph);
-    FREE(groups); 
-    FREE(X);
+    free(groups);
+    free(X);
   }
 
   return res;
index 76be11089509651ee31c840aa753e260a3b508e4..2a229aec993b15b50b541439e4e723a9cf848638 100644 (file)
@@ -113,6 +113,6 @@ void power_method(void *A, int n, int K, int random_seed,
       }
     } while (res < 1 - tolerance && iter++ < maxit);
   }
-  FREE(u);
-  FREE(vv);  
+  free(u);
+  free(vv);
 }
index 926be58b6497751bd6c9528b22e4f2f65f8d6628..4523941df075cde87f08df166e7f586e01e08770 100644 (file)
@@ -458,7 +458,7 @@ bundle (Agraph_t* g, opts_t* opts)
 
        SparseMatrix_delete(A);
        A = B;
-       FREE(x);
+       free(x);
        x = xx;
 
        dim = 2;
index 077391701c585b73408051a56c4aafa217ee5d73..464fa8ef76db7c540172fe91815c0b9e4265b063 100644 (file)
@@ -272,9 +272,9 @@ SparseMatrix SparseMatrix_import_matrix_market(FILE * f, int format)
     default:
        A = NULL;
     }
-    FREE(I);
-    FREE(J);
-    FREE(val);
+    free(I);
+    free(J);
+    free(val);
 
     if (mm_is_symmetric(matcode)) {
        SparseMatrix_set_symmetric(A);
index 8ed2114e1bdb8fea7ca0437734a9be7b72cd2c4b..637660f4b25c1729bb1dd2cf94dcb68adb8a252d 100644 (file)
@@ -24,7 +24,6 @@
 #include <getopt.h>
 
 #define MALLOC malloc
-#define FREE free
 #define test_flag(a, flag) ((a)&(flag))
 #define real double
 #define BUFS         1024
@@ -195,8 +194,8 @@ static Agraph_t *makeDotGraph(SparseMatrix A, char *name, int dim,
     }
 
     agxbfree (&xb);
-    FREE(color);
-    FREE(arr);
+    free(color);
+    free(arr);
     return g;
 }
 
index c7fd27c5a89dd482b4b8907b26dc962c75c27a3e..f0cd13e185142e2785c83c90b270c13e39b12af8 100644 (file)
@@ -136,8 +136,8 @@ for (i = 0; i < ns1 - 1; i++){
     }
   }
 
-  FREE(x1);
-  FREE(x2);
+  free(x1);
+  free(x2);
   return 0;
 }
 
@@ -254,15 +254,13 @@ Agraph_t* edge_distinct_coloring(char *color_scheme, char *lightness, Agraph_t*
  RETURN:
   SparseMatrix_delete(A);
   SparseMatrix_delete(C);
-  FREE(colors);
-  FREE(x);
+  free(colors);
+  free(x);
   if (xsplines){
     for (i = 0; i < ne; i++){
-      FREE(xsplines[i]);
+      free(xsplines[i]);
     }
-    FREE(xsplines);
+    free(xsplines);
   }
   return g;
-
 }
-
index 7cfaca1c3cd9a20d4b03cce7510afcb40061b7ec..425c64614ca947baf81116eea96d50f84df6e1b4 100644 (file)
@@ -166,9 +166,8 @@ void furtherest_point(int k, int dim, real *wgt, real *pts, real *center, real w
 
   QuadTree_delete(qt0);
 
-  FREE(candidates);
-  FREE(candidates2);
-
+  free(candidates);
+  free(candidates2);
 }
 
 
@@ -290,7 +289,6 @@ void furtherest_point_in_list(int k, int dim, real *wgt, real *pts, QuadTree qt,
 
   }/* continue down the quadtree */
 
-  FREE(candidates);
-  FREE(candidates2);
-
+  free(candidates);
+  free(candidates2);
 }
index 63f3495154add9241d1a151c0ade27619f0d4aa2..a985f896674f5e2c5a21c5ad94060e09d40bfdfa 100644 (file)
@@ -197,7 +197,7 @@ QuadTree lab_gamut_quadtree(const char *lightness, int max_qtree_level){
   qt = QuadTree_new_from_point_list(dim, n, max_qtree_level, x, NULL);
 
 
-  FREE(x);
+  free(x);
   return qt;
 }
 
@@ -281,6 +281,6 @@ void color_blend_rgb2lab(char *color_list, const int maxpoints, double **colors0
       while (jj < nc -1 && dists[jj] < dists[ii] + step) jj++;
     }
   }
-  FREE(dists);
-  FREE(lab);  
+  free(dists);
+  free(lab);
 }
index c99627978256a8995c9650b6499f1f8ab605f6a9..5f16b2427db4e6a580e3e75b33c6086b55abb187 100644 (file)
@@ -151,8 +151,7 @@ static void node_distinct_coloring_internal2(int scheme, QuadTree qt, int weight
   }
   *color_diff0 = color_diff;
   *color_diff_sum0 = color_diff_sum;
-  FREE(x);
-  
+  free(x);
 }
  
 static void node_distinct_coloring_internal(int scheme, QuadTree qt, int weightedQ,  SparseMatrix A, int cdim, real accuracy, int iter_max, int seed, real *colors){
@@ -269,7 +268,7 @@ int node_distinct_coloring(char *color_scheme, char *lightness, int weightedQ, S
     }
     SparseMatrix_delete(B);
   }
-  FREE(ctmp);
+  free(ctmp);
 
   if (A != A0) SparseMatrix_delete(A);
   return 0;
index 00e6e3d5283cbdde306f495a2736bc2521b47571..048ee0fc603061d54fada0387e636bb4bb738cd5 100644 (file)
@@ -74,10 +74,10 @@ static void Agglomerative_Ink_Bundling_delete(Agglomerative_Ink_Bundling grid){
   /* on level 0, R0 = NULL, on level 1, R0 = R */
   if (grid->level > 1) SparseMatrix_delete(grid->R0);
   SparseMatrix_delete(grid->R);
-  FREE(grid->inks);
+  free(grid->inks);
 
   Agglomerative_Ink_Bundling_delete(grid->next);
-  FREE(grid);
+  free(grid);
 }
 
 static Agglomerative_Ink_Bundling Agglomerative_Ink_Bundling_establish(Agglomerative_Ink_Bundling grid, int *pick, real angle_param, real angle){
@@ -288,10 +288,10 @@ static Agglomerative_Ink_Bundling Agglomerative_Ink_Bundling_establish(Agglomera
   }
 
  RETURN:
-  FREE(matching);
+  free(matching);
   for (i = 0; i < n; i++) Vector_delete(cedges[i]);
-  FREE(cedges);
-  FREE(mask);
+  free(cedges);
+  free(mask);
   return grid;
 }
 
@@ -309,7 +309,7 @@ static Agglomerative_Ink_Bundling Agglomerative_Ink_Bundling_new(SparseMatrix A0
   pick = MALLOC(sizeof(int)*A0->m);
   
   grid = Agglomerative_Ink_Bundling_establish(grid, pick, angle_param, angle);
-  FREE(pick);
+  free(pick);
 
   if (A != A0) grid->delete_top_level_A = TRUE;/* be sure to clean up later */
 
@@ -446,7 +446,7 @@ static pedge* agglomerative_ink_bundling_internal(int dim, SparseMatrix A, pedge
 
     agglomerative_ink_bundling_internal(dim, A_mid, mid_edges, nneighbors, recurse_level, MAX_RECURSE_LEVEL, angle_param, angle, open_gl, current_ink, ink00, flag);
     SparseMatrix_delete(A_mid);
-    FREE(xx);
+    free(xx);
     
     /* patching edges with the new mid-section */
     for (i = 0; i < R->m; i++){
index f10f43fca9d7bff680e010d5b55ffa4a9671f409..60d26c6f2fef73d27dee7ef851c33ea95871bd29 100644 (file)
@@ -81,8 +81,8 @@ pedge pedge_wgt_new(int np, int dim, real *x, real wgt){
 
 }
 void pedge_delete(pedge e){
-  FREE(e->x);
-  FREE(e);
+  free(e->x);
+  free(e);
 }
 
 pedge pedge_flip(pedge e){
@@ -98,7 +98,7 @@ pedge pedge_flip(pedge e){
     memcpy(&x[(n-1-i)*dim], &x[i*dim], sizeof(real)*dim);
     memcpy(&x[i*dim], y, sizeof(real)*dim);
   }
-  FREE(y);
+  free(y);
   return e;
 }
 
@@ -574,8 +574,8 @@ static pedge* force_directed_edge_bundling(SparseMatrix A, pedge* edges, int max
 
   }
 
-  FREE(force_t);
-  FREE(force_a);
+  free(force_t);
+  free(force_a);
   return edges;
 }
 
index ac0c181079c08784d827c1e0d50a7ca28c0b8a84..5f0c277fb7e1ea69063119e08bcffad469023cef 100644 (file)
@@ -44,11 +44,9 @@ SparseMatrix nearest_neighbor_graph(int nPts, int num_neigbors, double *x, doubl
   A = NULL;
 #endif
 
-  FREE(irn);
-  FREE(jcn);
-  FREE(val);
+  free(irn);
+  free(jcn);
+  free(val);
 
   return A;
-
-
 }
index 8f665f2804ad62675a34e6515e10f93b9f92a196..77ab08dc06b6ad03318e85bfa17daaa405820e76 100644 (file)
@@ -611,23 +611,23 @@ get_triangles (double *x, int n, int* tris)
 
     *tris = mid.numberoftriangles;
     
-    FREE(in.pointlist);
-    FREE(in.pointattributelist);
-    FREE(in.pointmarkerlist);
-    FREE(in.regionlist);
-    FREE(mid.pointlist);
-    FREE(mid.pointattributelist);
-    FREE(mid.pointmarkerlist);
-    FREE(mid.triangleattributelist);
-    FREE(mid.neighborlist);
-    FREE(mid.segmentlist);
-    FREE(mid.segmentmarkerlist);
-    FREE(mid.edgelist);
-    FREE(mid.edgemarkerlist);
-    FREE(vorout.pointlist);
-    FREE(vorout.pointattributelist);
-    FREE(vorout.edgelist);
-    FREE(vorout.normlist);
+    free(in.pointlist);
+    free(in.pointattributelist);
+    free(in.pointmarkerlist);
+    free(in.regionlist);
+    free(mid.pointlist);
+    free(mid.pointattributelist);
+    free(mid.pointmarkerlist);
+    free(mid.triangleattributelist);
+    free(mid.neighborlist);
+    free(mid.segmentlist);
+    free(mid.segmentmarkerlist);
+    free(mid.edgelist);
+    free(mid.edgemarkerlist);
+    free(vorout.pointlist);
+    free(vorout.pointattributelist);
+    free(vorout.edgelist);
+    free(vorout.normlist);
 
     return mid.trianglelist;
 }
index 1a54f759e68dd3d436599dcdf14ec417d218b525..724adac3dbc63c8dc502fc16a3f44f34fdd22014 100644 (file)
@@ -240,8 +240,8 @@ static SparseMatrix get_overlap_graph(int dim, int n, real *x, real *width, int
   }
 
 check_overlap_RETURN:
-   FREE(scanpointsx);
-  FREE(scanpointsy);
+   free(scanpointsx);
+  free(scanpointsy);
   RBTreeDestroy(treey);
 
   B = SparseMatrix_from_coordinate_format(A);
@@ -261,11 +261,11 @@ static void relative_position_constraints_delete(void *d){
   relative_position_constraints data;
   if (!d) return;
   data = (relative_position_constraints) d;
-  FREE(data->irn);
-  FREE(data->jcn);
-  FREE(data->val);
+  free(data->irn);
+  free(data->jcn);
+  free(data->val);
   /* other stuff inside relative_position_constraints is assed back to the user hence no need to deallocator*/
-  FREE(d);
+  free(d);
 }
 
 static relative_position_constraints relative_position_constraints_new(SparseMatrix A_constr, int edge_labeling_scheme, int n_constr_nodes, int *constr_nodes){
@@ -529,8 +529,8 @@ static void print_bounding_box(int n, int dim, real *x){
   for (i = 0; i < dim; i++) fprintf(stderr,"{%f,%f}, ",xmin[i], xmax[i]);
   fprintf(stderr,"\n");
 
-  FREE(xmin);
-  FREE(xmax);
+  free(xmin);
+  free(xmax);
 }
 
 static int check_convergence(real max_overlap, real res, int has_penalty_terms, real epsilon){
index f6432268f1c662cc00ad5ec3de8484af322a2b3a..32e6d99a31b81e87017093b985f8d9d6eabf277b 100644 (file)
@@ -39,7 +39,7 @@ Multilevel_control Multilevel_control_new(int scheme, int mode){
 }
 
 void Multilevel_control_delete(Multilevel_control ctrl){
-  FREE(ctrl);
+  free(ctrl);
 }
 
 static Multilevel Multilevel_init(SparseMatrix A, SparseMatrix D, real *node_weights){
@@ -75,9 +75,9 @@ void Multilevel_delete(Multilevel grid){
   }
   SparseMatrix_delete(grid->P);
   SparseMatrix_delete(grid->R);
-  if (grid->node_weights && grid->level > 0) FREE(grid->node_weights);
+  if (grid->node_weights && grid->level > 0) free(grid->node_weights);
   Multilevel_delete(grid->next);
-  FREE(grid);
+  free(grid);
 }
 
 static void maximal_independent_vertex_set(SparseMatrix A, int randomize, int **vset, int *nvset, int *nzc){
@@ -119,7 +119,7 @@ static void maximal_independent_vertex_set(SparseMatrix A, int randomize, int **
        }
       }
     }
-    FREE(p);
+    free(p);
   }
   (*nzc) += *nvset;
 }
@@ -163,7 +163,7 @@ static void maximal_independent_vertex_set_RS(SparseMatrix A, int randomize, int
       i = p[ii];
       PriorityQueue_push(q, i, ia[i+1] - ia[i]);
     }
-    FREE(p);
+    free(p);
   }
 
   while (PriorityQueue_pop(q, &i, &gain)){
@@ -236,7 +236,7 @@ static void maximal_independent_edge_set(SparseMatrix A, int randomize, int **ma
        }
       }
     }
-    FREE(p);
+    free(p);
   }
 }
 
@@ -313,7 +313,7 @@ static void maximal_independent_edge_set_heavest_edge_pernode(SparseMatrix A, in
          (*nmatch)--;
       }
     }
-    FREE(p);
+    free(p);
   }
 }
 
@@ -491,10 +491,10 @@ static void maximal_independent_edge_set_heavest_edge_pernode_leaves_first(Spars
       }
     }
 
-    FREE(p);
+    free(p);
   }
 
-  FREE(matched);
+  free(matched);
 }
 
 
@@ -619,15 +619,15 @@ static void maximal_independent_edge_set_heavest_edge_pernode_supernodes_first(S
        (*clusterp)[++(*ncluster)] = nz;
       }
     }
-    FREE(p);
+    free(p);
 
   }
 
-  FREE(super);
+  free(super);
 
-  FREE(superp);
+  free(superp);
 
-  FREE(matched);
+  free(matched);
 }
 
 static int scomp(const void *s1, const void *s2){
@@ -735,10 +735,10 @@ static void maximal_independent_edge_set_heavest_cluster_pernode_leaves_first(Sp
       (*clusterp)[++(*ncluster)] = nz;
     }
   }
-  FREE(p);
+  free(p);
 
 
-  FREE(matched);
+  free(matched);
 }
 static void maximal_independent_edge_set_heavest_edge_pernode_scaled(SparseMatrix A, int randomize, int **matching, int *nmatch){
   int i, ii, j, *ia, *ja, m, n, *p = NULL;
@@ -811,7 +811,7 @@ static void maximal_independent_edge_set_heavest_edge_pernode_scaled(SparseMatri
          (*nmatch)--;
       }
     }
-    FREE(p);
+    free(p);
   }
 }
 
@@ -1074,15 +1074,15 @@ static void Multilevel_coarsen_internal(SparseMatrix A, SparseMatrix *cA, Sparse
     goto RETURN;
   }
  RETURN:
-  FREE(matching);
-  FREE(vset);
-  FREE(irn);
-  FREE(jcn);
-  FREE(val);
+  free(matching);
+  free(vset);
+  free(irn);
+  free(jcn);
+  free(val);
   if (B) SparseMatrix_delete(B);
 
-  FREE(cluster);
-  FREE(clusterp);
+  free(cluster);
+  free(clusterp);
 }
 
 void Multilevel_coarsen(SparseMatrix A, SparseMatrix *cA, SparseMatrix D, SparseMatrix *cD, real *node_wgt, real **cnode_wgt,
@@ -1123,7 +1123,7 @@ void Multilevel_coarsen(SparseMatrix A, SparseMatrix *cA, SparseMatrix D, Sparse
     if (*cD) SparseMatrix_delete(*cD);
     *cD = cD0;
 
-    if (*cnode_wgt) FREE(*cnode_wgt);
+    if (*cnode_wgt) free(*cnode_wgt);
     *cnode_wgt = cnode_wgt0;
     A = cA0;
     D = cD0;
index 66e30550dbfca0946c22116c34b1f575eea8f33f..9e08cbe0c541c032e891fe8db473c7da041a6634 100644 (file)
@@ -43,7 +43,7 @@ static SparseMatrix ideal_distance_matrix(SparseMatrix A, int dim, real *x){
   ia = D->ia;
   ja = D->ja;
   if (D->type != MATRIX_TYPE_REAL){
-    FREE(D->a);
+    free(D->a);
     D->type = MATRIX_TYPE_REAL;
     D->a = N_GNEW(D->nz,real);
   }
@@ -284,8 +284,8 @@ StressMajorizationSmoother StressMajorizationSmoother2_new(SparseMatrix A, int d
   sm->Lw->nz = nz;
   sm->Lwd->nz = nz;
 
-  FREE(mask);
-  FREE(avg_dist);
+  free(mask);
+  free(avg_dist);
   SparseMatrix_delete(ID);
   return sm;
 }
@@ -737,9 +737,9 @@ real StressMajorizationSmoother_smooth(StressMajorizationSmoother sm, int dim, r
     SparseMatrix_delete(Lw);
   }
 
-  FREE(x0);
-  FREE(y);
-  FREE(x00);
+  free(x0);
+  free(y);
+  free(x00);
   return diff;
   
 }
@@ -748,9 +748,9 @@ void StressMajorizationSmoother_delete(StressMajorizationSmoother sm){
   if (!sm) return;
   if (sm->Lw) SparseMatrix_delete(sm->Lw);
   if (sm->Lwd) SparseMatrix_delete(sm->Lwd);
-  FREE(sm->lambda);
+  free(sm->lambda);
   if (sm->data) sm->data_deallocator(sm->data);
-  FREE(sm);
+  free(sm);
 }
 
 
@@ -848,7 +848,7 @@ TriangleSmoother TriangleSmoother_new(SparseMatrix A, int dim, real lambda0, rea
   for (i = 0; i < iw[m]; i++) d[i] *= s;
   sm->scaling = s;
 
-  FREE(avg_dist);
+  free(avg_dist);
 
   return sm;
 }
@@ -968,8 +968,8 @@ SpringSmoother SpringSmoother_new(SparseMatrix A, int dim, spring_electrical_con
   sm->ctrl->step /= 2;
   sm->ctrl->maxiter = 20;
 
-  FREE(mask);
-  FREE(avg_dist);
+  free(mask);
+  free(avg_dist);
   SparseMatrix_delete(ID);
 
   return sm;
index e4b6046c1718bcf4496b8eec4644c2d243f80ee9..c36d5cdff7f8c0eacb719a5011417a943a1e6094 100644 (file)
@@ -151,7 +151,7 @@ static void sfdpLayout(graph_t * g, spring_electrical_control ctrl,
     free(pos);
     SparseMatrix_delete (A);
     if (D) SparseMatrix_delete (D);
-    FREE(edge_label_nodes);
+    free(edge_label_nodes);
 }
 
 static int
index e68e8db17c6109f428dbd314782f03c913a7a327..8a9bf15a6acf9b36c49c44ec6508d7f8b1fde77a 100644 (file)
@@ -75,7 +75,7 @@ static Operator Operator_matmul_new(SparseMatrix A){
 
 
 static void Operator_matmul_delete(Operator o){
-  FREE(o);
+  free(o);
 }
 
 
@@ -147,8 +147,8 @@ static Operator Operator_diag_precon_new(SparseMatrix A){
 }
 
 static void Operator_diag_precon_delete(Operator o){
-  FREE(o->data);
-  FREE(o);
+  free(o->data);
+  free(o);
 }
 
 static real conjugate_gradient(Operator A, Operator precon, int n, real *x, real *rhs, real tol, int maxit){
@@ -203,7 +203,7 @@ static real conjugate_gradient(Operator A, Operator precon, int n, real *x, real
 
     rho_old = rho;
   }
-  FREE(z); FREE(r); FREE(p); FREE(q);
+  free(z); free(r); free(p); free(q);
 #ifdef DEBUG
     _statistics[0] += iter - 1;
 #endif
@@ -232,10 +232,9 @@ real cg(Operator Ax, Operator precond, int n, int dim, real *x0, real *rhs, real
       rhs[i*dim+k] = x[i];
     }
   }
-  FREE(x);
-  FREE(b);
+  free(x);
+  free(b);
   return res;
-
 }
 
 static real* jacobi(SparseMatrix A, int dim, real *x0, real *rhs, int maxit, int *flag){
@@ -278,11 +277,10 @@ static real* jacobi(SparseMatrix A, int dim, real *x0, real *rhs, int maxit, int
   }
 
 
-  FREE(x);
-  FREE(y);
-  FREE(b);
+  free(x);
+  free(y);
+  free(b);
   return rhs;
-
 }
 
 real SparseMatrix_solve(SparseMatrix A, int dim, real *x0, real *rhs, real tol, int maxit, int method, int *flag){
index 7806b879d43fa0402977648d699232a9408061ae..14de37bc60cbf91223b707aa294a2d8bd753f671 100644 (file)
@@ -70,7 +70,7 @@ spring_electrical_control spring_electrical_control_new(){
 }
 
 void spring_electrical_control_delete(spring_electrical_control ctrl){
-  FREE(ctrl);
+  free(ctrl);
 }
 
 static char* smoothings[] = {
@@ -104,7 +104,7 @@ void spring_electrical_control_print(spring_electrical_control ctrl){
 }
 
 void oned_optimizer_delete(oned_optimizer opt){
-  FREE(opt);
+  free(opt);
 }
 
 oned_optimizer oned_optimizer_new(int i){
@@ -440,9 +440,9 @@ ang1 = 0; ang2 = 2*PI; maxang = 2*PI;
   }
 
 
-  FREE(checked);
-  FREE(angles);
-  FREE(leaves);
+  free(checked);
+  free(angles);
+  free(leaves);
 }
 
 void force_print(FILE *fp, int n, int dim, real *x, real *force){
@@ -659,9 +659,9 @@ void spring_electrical_embedding_fast(int dim, SparseMatrix A0, spring_electrica
   oned_optimizer_delete(qtree_level_optimizer);
   ctrl->max_qtree_level = max_qtree_level;
 
-  FREE(xold);
+  free(xold);
   if (A != A0) SparseMatrix_delete(A);
-  FREE(force);
+  free(force);
 }
 
 static void spring_electrical_embedding_slow(int dim, SparseMatrix A0, spring_electrical_control ctrl, real *node_weights, real *x, int *flag){
@@ -902,13 +902,13 @@ static void spring_electrical_embedding_slow(int dim, SparseMatrix A0, spring_el
     oned_optimizer_delete(qtree_level_optimizer);
     ctrl->max_qtree_level = max_qtree_level;
   }
-  FREE(xold);
+  free(xold);
   if (A != A0) SparseMatrix_delete(A);
-  FREE(f);
-  FREE(center);
-  FREE(supernode_wgts);
-  FREE(distances);
-  FREE(force);
+  free(f);
+  free(center);
+  free(supernode_wgts);
+  free(distances);
+  free(force);
 }
 
 
@@ -1149,12 +1149,12 @@ void spring_electrical_embedding(int dim, SparseMatrix A0, spring_electrical_con
     oned_optimizer_delete(qtree_level_optimizer);
     ctrl->max_qtree_level = max_qtree_level;
   }
-  FREE(xold);
+  free(xold);
   if (A != A0) SparseMatrix_delete(A);
-  FREE(f);
-  FREE(center);
-  FREE(supernode_wgts);
-  FREE(distances);
+  free(f);
+  free(center);
+  free(supernode_wgts);
+  free(distances);
 }
 
 static void scale_coord(int n, int dim, real *x, int *id, int *jd, real *d, real dj){
@@ -1431,12 +1431,12 @@ static void spring_maxent_embedding(int dim, SparseMatrix A0, SparseMatrix D, sp
   if (ctrl->beautify_leaves) beautify_leaves(dim, A, x);
 
  RETURN:
-  FREE(xold);
+  free(xold);
   if (A != A0) SparseMatrix_delete(A);
-  FREE(f);
-  FREE(center);
-  FREE(supernode_wgts);
-  FREE(distances);
+  free(f);
+  free(center);
+  free(supernode_wgts);
+  free(distances);
 }
 
 
@@ -1628,12 +1628,12 @@ void spring_electrical_spring_embedding(int dim, SparseMatrix A0, SparseMatrix D
   if (ctrl->beautify_leaves) beautify_leaves(dim, A, x);
 
  RETURN:
-  FREE(xold);
+  free(xold);
   if (A != A0) SparseMatrix_delete(A);
-  FREE(f);
-  FREE(center);
-  FREE(supernode_wgts);
-  FREE(distances);
+  free(f);
+  free(center);
+  free(supernode_wgts);
+  free(distances);
 }
 
 
@@ -1675,7 +1675,7 @@ void interpolate_coord(int dim, SparseMatrix A, real *x){
     }
   }
 
-  FREE(y);
+  free(y);
 }
 static void prolongate(int dim, SparseMatrix A, SparseMatrix P, SparseMatrix R, real *x, real *y, int coarsen_scheme_used, real delta){
   int nc, *ia, *ja, i, j, k;
@@ -1719,7 +1719,7 @@ int power_law_graph(SparseMatrix A){
     max = MAX(max, mask[deg]);
   }
   if (mask[1] > 0.8*max && mask[1] > 0.3*m) res = TRUE;
-  FREE(mask);
+  free(mask);
   return res;
 }
 
@@ -1847,7 +1847,7 @@ static void attach_edge_label_coordinates(int dim, SparseMatrix A, int n_edge_la
     }
   }
 
-  FREE(mask);
+  free(mask);
 }
 
 static SparseMatrix shorting_edge_label_nodes(SparseMatrix A, int n_edge_label_nodes, int *edge_label_nodes){
@@ -1913,9 +1913,9 @@ static SparseMatrix shorting_edge_label_nodes(SparseMatrix A, int n_edge_label_n
 
   B = SparseMatrix_from_coordinate_arrays(nz, id, id, irn, jcn, NULL, MATRIX_TYPE_PATTERN, sizeof(real));
 
-  FREE(irn);
-  FREE(jcn);
-  FREE(mask);
+  free(irn);
+  free(jcn);
+  free(mask);
   return B;
 
 }
@@ -1975,7 +1975,7 @@ static void multilevel_spring_electrical_embedding_core(int dim, SparseMatrix A0
     remove_overlap(dim, A, x, label_sizes, ctrl->overlap, ctrl->initial_scaling,
                   ctrl->edge_labeling_scheme, n_edge_label_nodes, edge_label_nodes, A, ctrl->do_shrinking);
     SparseMatrix_delete(A2);
-    FREE(x2);
+    free(x2);
     if (A != A0) SparseMatrix_delete(A);
 
     return;
@@ -2048,7 +2048,7 @@ static void multilevel_spring_electrical_embedding_core(int dim, SparseMatrix A0
     }
     if (Multilevel_is_finest(grid)) break;
     if (*flag) {
-      FREE(xc);
+      free(xc);
       goto RETURN;
     }
     P = grid->P;
@@ -2060,7 +2060,7 @@ static void multilevel_spring_electrical_embedding_core(int dim, SparseMatrix A0
       xf = MALLOC(sizeof(real)*grid->n*dim);
     }
     prolongate(dim, grid->A, P, grid->R, xc, xf, coarsen_scheme_used, (ctrl->K)*0.001);
-    FREE(xc);
+    free(xc);
     xc = xf;
     ctrl->random_start = FALSE;
     ctrl->K = ctrl->K * 0.75;
index 2d0df1351f7765b708179cf6c9229dac975bc9e8..33d659d0eba1105a22f5df79f3cfa26c0191fe99 100644 (file)
@@ -41,7 +41,7 @@ UniformStressSmoother UniformStressSmoother_new(int dim, SparseMatrix A, real *x
   sm->data = MALLOC(sizeof(real)*2);
   ((real*) sm->data)[0] = alpha;
   ((real*) sm->data)[1] = M;
-  sm->data_deallocator = FREE;
+  sm->data_deallocator = free;
   sm->tol_cg = 0.01;
   sm->maxit_cg = (int)sqrt((double) A->m);
 
index 16c1a9d7c085ae9ef45c7f2e1c553297d7df98f3..a710cc66dca5a8f3a7f3a4b94f2996ebf69bd4e6 100644 (file)
@@ -33,12 +33,12 @@ BinaryHeap BinaryHeap_new(int (*cmp)(void*item1, void*item2)){
 
 void BinaryHeap_delete(BinaryHeap h, void (*del)(void* item)){
   if (!h) return;
-  FREE(h->id_to_pos);
-  FREE(h->pos_to_id);
+  free(h->id_to_pos);
+  free(h->pos_to_id);
   IntStack_delete(h->id_stack);
   if (del) for (size_t i = 0; i < h->len; i++) del((h->heap)[i]);
-  FREE(h->heap);
-  FREE(h);
+  free(h->heap);
+  free(h);
 }
 
 static BinaryHeap BinaryHeap_realloc(BinaryHeap h){
@@ -267,7 +267,7 @@ void BinaryHeap_sanity_check(BinaryHeap h){
   for (size_t i = 0; i < h->len + IntStack_get_length(h->id_stack); i++)
     assert(mask[i] != 0);
 
-  FREE(mask);
+  free(mask);
 }
 void BinaryHeap_print(BinaryHeap h, void (*pnt)(void*)){
   size_t k = 2;
index 717059ff04cf263246cd84a308481087560b0a8c..165d6c46236cd45edb91d46a9ed7dbcc8dddc2a1 100644 (file)
@@ -241,7 +241,7 @@ SparseMatrix_import_dot (Agraph_t* g, int dim, real **label_sizes, real **x, int
       }
     }
     if (!has_positions) {
-      FREE(*x);
+      free(*x);
       *x = NULL;
     }
   }
@@ -256,11 +256,11 @@ SparseMatrix_import_dot (Agraph_t* g, int dim, real **label_sizes, real **x, int
 
 done:
   if (format != FORMAT_COORD){
-    FREE(I);
-    FREE(J);
-    FREE(val);
+    free(I);
+    free(J);
+    free(val);
   }
-  FREE(valD);
+  free(valD);
 
   return A;
 }
@@ -610,15 +610,15 @@ SparseMatrix Import_coord_clusters_from_dot(Agraph_t* g, int maxcluster, int dim
       }
     }
     if (!has_position){
-      FREE(*x);
+      free(*x);
       *x = NULL;
     }
   }
 
 
-  FREE(I);
-  FREE(J);
-  FREE(val);
+  free(I);
+  free(J);
+  free(val);
 
   return A;
 }
@@ -703,10 +703,10 @@ void attached_clustering(Agraph_t* g, int maxcluster, int clustering_scheme){
     }
   }
 
-  FREE(I);
-  FREE(J);
-  FREE(val);
-  FREE(clusters);
+  free(I);
+  free(J);
+  free(val);
+  free(clusters);
 
   SparseMatrix_delete(A);
 
index a85f4a07a87d028b707d3164953e56135f7e44b4..e992533c5995a77012afff6b4da4fbf61895c7a4 100644 (file)
@@ -26,8 +26,8 @@ IntStack IntStack_new(void){
 
 void IntStack_delete(IntStack s){
   if (s){
-    FREE(s->stack);
-    FREE(s);
+    free(s->stack);
+    free(s);
   }
 }
 
index 34808c45b7e18cd314a0b379a75a9d6c8d07cc87..1e7bc886540551d3ee948d0a4e0e4ce84bc45bcb 100644 (file)
@@ -10,9 +10,6 @@
 
 #include <sparse/LinkedList.h>
 #include <common/memory.h>
-#define FREE free
-
-
 
 SingleLinkedList SingleLinkedList_new(void *data){
   SingleLinkedList head;
@@ -37,7 +34,7 @@ void SingleLinkedList_delete(SingleLinkedList head,  void (*linklist_deallocator
   do {
     next = head->next;
     if (head->data) linklist_deallocator(head->data);
-    FREE(head);
+    free(head);
     head = next;
   } while (head);
 
@@ -91,7 +88,7 @@ void DoubleLinkedList_delete(DoubleLinkedList head,  void (*linklist_deallocator
   do {
     next = head->next;
     if (head->data) linklist_deallocator(head->data);
-    FREE(head);
+    free(head);
     head = next;
   } while (head);
 
@@ -134,7 +131,7 @@ void DoubleLinkedList_delete_element(DoubleLinkedList l, void (*linklist_dealloc
     prev = l->prev;
     
     if (l->data) linklist_deallocator(l->data);
-    FREE(l);
+    free(l);
     l = NULL;
 
     if (next) next->prev = prev;
index b10e9ff4bb7f5a259cb753eb2822f8f144ee9c34..468e020f513287cecb1def82b0dc8f7b0d5dd224 100644 (file)
@@ -41,9 +41,9 @@ static node_data node_data_new(int dim, real weight, real *coord, int id){
 
 static void node_data_delete(void *d){
   node_data nd = (node_data) d;
-  FREE(nd->coord);
-  /*delete outside   if (nd->data) FREE(nd->data);*/
-  FREE(nd);
+  free(nd->coord);
+  /*delete outside   if (nd->data) free(nd->data);*/
+  free(nd);
 }
 
 static real node_data_get_weight(void *d){
@@ -354,9 +354,9 @@ QuadTree QuadTree_new_from_point_list(int dim, int n, int max_level, real *coord
   xmax = MALLOC(sizeof(real)*dim);
   center = MALLOC(sizeof(real)*dim);
   if (!xmin || !xmax || !center) {
-      FREE(xmin);
-      FREE(xmax);
-      FREE(center);
+      free(xmin);
+      free(xmax);
+      free(center);
       return NULL;
   }
 
@@ -390,9 +390,9 @@ QuadTree QuadTree_new_from_point_list(int dim, int n, int max_level, real *coord
   }
 
 
-  FREE(xmin);
-  FREE(xmax);
-  FREE(center);
+  free(xmin);
+  free(xmax);
+  free(center);
   return qt;
 }
 
@@ -419,17 +419,17 @@ void QuadTree_delete(QuadTree q){
   int i, dim;
   if (!q) return;
   dim = q->dim;
-  FREE(q->center);
-  FREE(q->average);
-  FREE(q->data);
+  free(q->center);
+  free(q->average);
+  free(q->data);
   if (q->qts){
     for (i = 0; i < 1<<dim; i++){
       QuadTree_delete(q->qts[i]);
     }
-    FREE(q->qts);
+    free(q->qts);
   }
   SingleLinkedList_delete(q->l, node_data_delete);
-  FREE(q);
+  free(q);
 }
 
 static int QuadTree_get_quadrant(int dim, real *center, real *coord){
index db181d3c8abf52673d1bbaa84bb958376f392b6f..2e37463234c976ae5de8851eedcab2fcce216b3c 100644 (file)
@@ -282,7 +282,7 @@ int SparseMatrix_is_symmetric(SparseMatrix A, int test_pattern_symmetry_only){
     SparseMatrix_set_pattern_symmetric(A);
   }
  RETURN:
-  FREE(mask);
+  free(mask);
 
   SparseMatrix_delete(B);
   return res;
@@ -407,10 +407,10 @@ void SparseMatrix_delete(SparseMatrix A){
   /* return a sparse matrix skeleton with row dimension m and storage nz. If nz == 0, 
      only row pointers are allocated */
   if (!A) return;
-  FREE(A->ia);
-  FREE(A->ja);
-  FREE(A->a);
-  FREE(A);
+  free(A->ia);
+  free(A->ja);
+  free(A->a);
+  free(A);
 }
 static void SparseMatrix_print_csr(char *c, SparseMatrix A){
   int *ia, *ja;
@@ -994,7 +994,7 @@ SparseMatrix SparseMatrix_add(SparseMatrix A, SparseMatrix B){
   C->nz = nz;
 
  RETURN:
-  FREE(mask);
+  free(mask);
 
   return C;
 }
@@ -1295,9 +1295,8 @@ SparseMatrix SparseMatrix_multiply(SparseMatrix A, SparseMatrix B){
   C->nz = nz;
 
  RETURN:
-  FREE(mask);
+  free(mask);
   return C;
-
 }
 
 
@@ -1482,9 +1481,8 @@ SparseMatrix SparseMatrix_multiply3(SparseMatrix A, SparseMatrix B, SparseMatrix
   D->nz = nz;
 
  RETURN:
-  FREE(mask);
+  free(mask);
   return D;
-
 }
 
 SparseMatrix SparseMatrix_sum_repeat_entries(SparseMatrix A, int what_to_sum){
@@ -1591,7 +1589,7 @@ SparseMatrix SparseMatrix_sum_repeat_entries(SparseMatrix A, int what_to_sum){
     break;
   }
   A->nz = nz;
-  FREE(mask);
+  free(mask);
   return A;
 }
 
@@ -2003,9 +2001,9 @@ void SparseMatrix_weakly_connected_components(SparseMatrix A0, int *ncomp, int *
     
   }
   if (A != A0) SparseMatrix_delete(A);
-  FREE(levelset_ptr);
+  free(levelset_ptr);
 
-  FREE(mask);
+  free(mask);
 }
 
 
@@ -2125,15 +2123,15 @@ static int Dijkstra_internal(SparseMatrix A, int root, real *dist, int *nlist, i
        //fprintf(stderr," reset neighbor id=%d, dist=%f, hid = %d, a[%d]=%f, dist=%f\n",jj, ndata->dist,heap_id, jj, a[j], ndata->dist);
      }
     }
-    FREE(ndata_min);
+    free(ndata_min);
   }
   *nlist = found;
   *dist_max = dist[i];
 
 
-  BinaryHeap_delete(h, FREE);
-  FREE(heap_ids);
-  if (a && a != A->a) FREE(a);
+  BinaryHeap_delete(h, free);
+  free(heap_ids);
+  if (a && a != A->a) free(a);
   if (found == m || mask){
     return 0;
   } else {
@@ -2247,9 +2245,8 @@ void SparseMatrix_decompose_to_supervariables(SparseMatrix A, int *ncluster, int
   printf("\n");
 #endif
 
-  FREE(mask);
-  FREE(super);
-
+  free(mask);
+  free(super);
 }
 
 SparseMatrix SparseMatrix_get_augmented(SparseMatrix A){
@@ -2289,9 +2286,9 @@ SparseMatrix SparseMatrix_get_augmented(SparseMatrix A){
   B = SparseMatrix_from_coordinate_arrays(nz, m + n, m + n, irn, jcn, val, type, A->size);
   SparseMatrix_set_symmetric(B);
   SparseMatrix_set_pattern_symmetric(B);
-  FREE(irn);
-  FREE(jcn);
-  FREE(val);
+  free(irn);
+  free(jcn);
+  free(val);
   return B;
 }
 
@@ -2451,21 +2448,21 @@ SparseMatrix SparseMatrix_get_submatrix(SparseMatrix A, int nrow, int ncol, int
     }
     break;
   case MATRIX_TYPE_UNKNOWN:
-    FREE(rmask);
-    FREE(cmask);
+    free(rmask);
+    free(cmask);
     return NULL;
   default:
-    FREE(rmask);
-    FREE(cmask);
+    free(rmask);
+    free(cmask);
     return NULL;
   }
 
   B = SparseMatrix_from_coordinate_arrays(nz, nrow, ncol, irn, jcn, v, A->type, A->size);
-  FREE(cmask);
-  FREE(rmask);
-  FREE(irn);
-  FREE(jcn);
-  if (v) FREE(v);
+  free(cmask);
+  free(rmask);
+  free(irn);
+  free(jcn);
+  if (v) free(v);
 
 
   return B;
@@ -2476,7 +2473,7 @@ SparseMatrix SparseMatrix_set_entries_to_real_one(SparseMatrix A){
   real *a;
   int i;
 
-  FREE(A->a);
+  free(A->a);
   A->a = MALLOC(sizeof(real)*((size_t)A->nz));
   a = (real*) (A->a);
   for (i = 0; i < A->nz; i++) a[i] = 1.;
@@ -2554,12 +2551,12 @@ int SparseMatrix_distance_matrix(SparseMatrix D0, int weighted, real **dist0){
     }
   }
 
-  FREE(levelset_ptr);
-  FREE(levelset);
-  FREE(mask);
+  free(levelset_ptr);
+  free(levelset);
+  free(mask);
   
   if (D != D0) SparseMatrix_delete(D);
-  FREE(list);
+  free(list);
   return flag;
 }
 
@@ -2638,13 +2635,13 @@ SparseMatrix SparseMatrix_distance_matrix_khops(int khops, SparseMatrix D0, int
   C = SparseMatrix_from_coordinate_format(B);
   SparseMatrix_delete(B);
 
-  FREE(levelset_ptr);
-  FREE(levelset);
-  FREE(mask);
-  FREE(dist);
+  free(levelset_ptr);
+  free(levelset);
+  free(mask);
+  free(dist);
 
   if (D != D0) SparseMatrix_delete(D);
-  FREE(list);
+  free(list);
   /* I can not find a reliable way to make the matrix symmetric. Right now I use a mask array to
      limit consider of only nodes with in k hops, but even this is not symmetric. e.g.,
      . 10  10    10  10
index b8f9ea340d85c26b78e0459f98978dca3185c013..904457711a1ddbbb6fd80acdec9baca31f1dcb22 100644 (file)
@@ -65,7 +65,7 @@ static Multilevel_Modularity_Clustering Multilevel_Modularity_Clustering_init(Sp
     grid->deg_total = deg_total;
     grid->deg = deg;
     grid->modularity = modularity;
-    FREE(indeg);
+    free(indeg);
   }
 
 
@@ -83,11 +83,11 @@ static void Multilevel_Modularity_Clustering_delete(Multilevel_Modularity_Cluste
   }
   SparseMatrix_delete(grid->P);
   SparseMatrix_delete(grid->R);
-  FREE(grid->matching);
-  FREE(grid->deg);
+  free(grid->matching);
+  free(grid->deg);
 
   Multilevel_Modularity_Clustering_delete(grid->next);
-  FREE(grid);
+  free(grid);
 }
 
 static Multilevel_Modularity_Clustering Multilevel_Modularity_Clustering_establish(Multilevel_Modularity_Clustering grid, int ncluster_target){
@@ -194,13 +194,13 @@ static Multilevel_Modularity_Clustering Multilevel_Modularity_Clustering_establi
       } else if (n - ncluster_target <= ncluster_target - nc){/* ncluster_target close to n */
        fprintf(stderr,"ncluster_target = %d, close to n=%d\n", ncluster_target, n);
        for (i = 0; i < n; i++) matching[i] = i;
-       FREE(deg_new);
+       free(deg_new);
        goto RETURN;
       }
     } else if (n < ncluster_target){
       fprintf(stderr,"n < target\n");
       for (i = 0; i < n; i++) matching[i] = i;
-      FREE(deg_new);
+      free(deg_new);
       goto RETURN;
     }
   }
@@ -221,12 +221,12 @@ static Multilevel_Modularity_Clustering Multilevel_Modularity_Clustering_establi
     P = SparseMatrix_transpose(R);
     B = SparseMatrix_multiply(R, A);
     if (!B) {
-      FREE(deg_new);
+      free(deg_new);
       goto RETURN;
     }
     cA = SparseMatrix_multiply(B, P); 
     if (!cA) {
-      FREE(deg_new);
+      free(deg_new);
       goto RETURN;
     }
     SparseMatrix_delete(B);
@@ -245,19 +245,19 @@ static Multilevel_Modularity_Clustering Multilevel_Modularity_Clustering_establi
     /* if we want a small number of cluster but right now we have too many, we will force agglomeration */
     if (ncluster_target > 0 && nc > ncluster_target && !(grid->agglomerate_regardless)){
       grid->agglomerate_regardless = TRUE;
-      FREE(deg_inter);
-      FREE(mask);
-      FREE(deg_new);
+      free(deg_inter);
+      free(mask);
+      free(deg_new);
       return Multilevel_Modularity_Clustering_establish(grid, ncluster_target);
     }
     /* no more improvement, stop and final clustering found */
     for (i = 0; i < n; i++) matching[i] = i;
-    FREE(deg_new);
+    free(deg_new);
   }
 
  RETURN:
-  FREE(deg_inter);
-  FREE(mask);
+  free(deg_inter);
+  free(mask);
   return grid;
 }
 
@@ -330,7 +330,7 @@ static void hierachical_modularity_clustering(SparseMatrix A, int ncluster_targe
     real *v = NULL;
     P = cgrid->prev->P;
     SparseMatrix_multiply_vector(P, u, &v, FALSE);
-    FREE(u);
+    free(u);
     u = v;
     cgrid = cgrid->prev;
   }
@@ -342,10 +342,9 @@ static void hierachical_modularity_clustering(SparseMatrix A, int ncluster_targe
     *assignment = matching;
   }
   for (i = 0; i < grid->n; i++) (matching)[i] = (int) u[i];
-  FREE(u);
+  free(u);
 
   Multilevel_Modularity_Clustering_delete(grid);
-  
 }
 
 
index 2ee45fbe9ee8a28a6595a38e63f1f05929feaa7e..579d711f7083e5a29cf4de820260b2327668015e 100644 (file)
@@ -140,8 +140,7 @@ void vector_ordering(int n, real *v, int **p){
   qsort(u, n, sizeof(real)*2, comp_ascend);
 
   for (i = 0; i < n; i++) (*p)[i] = (int) u[2*i+1];
-  FREE(u);
-
+  free(u);
 }
 
 void vector_sort_int(int n, int *v){
index 21ee5d55e00f04edd4409ae4038138bd1e1e70f3..fee536d1f4de982b8bf30c05ac6a0364dd1227b2 100644 (file)
@@ -66,8 +66,6 @@ extern unsigned char Verbose;
 #define REALLOC grealloc
 #endif    /* STANDALONE */
 
-#define FREE free
-
 #ifndef DEBUG
 #ifndef NDEBUG
 #define NDEBUG /* switch off assert*/
index 2b57b5d497c254232464cd7947417a2b71a7b01d..cd34e4dd47009dddee8b5df1f4bb911703180e7a 100644 (file)
@@ -139,7 +139,7 @@ static real get_mq(SparseMatrix A, int *assignment, int *ncluster0, real *mq_in0
   *mq_in0 = mq_in;
   *mq_out0 = mq_out;
   *dout0 = dout;
-  FREE(counts);
+  free(counts);
 
   if (k > 1){
     return 2*(mq_in/k - mq_out/(k*(k-1)));
@@ -213,12 +213,12 @@ static void Multilevel_MQ_Clustering_delete(Multilevel_MQ_Clustering grid){
   }
   SparseMatrix_delete(grid->P);
   SparseMatrix_delete(grid->R);
-  FREE(grid->matching);
-  FREE(grid->deg_intra);
-  FREE(grid->dout);
-  FREE(grid->wgt);
+  free(grid->matching);
+  free(grid->deg_intra);
+  free(grid->dout);
+  free(grid->wgt);
   Multilevel_MQ_Clustering_delete(grid->next);
-  FREE(grid);
+  free(grid);
 }
 
 static Multilevel_MQ_Clustering Multilevel_MQ_Clustering_establish(Multilevel_MQ_Clustering grid, int maxcluster){
@@ -467,16 +467,16 @@ static Multilevel_MQ_Clustering Multilevel_MQ_Clustering_establish(Multilevel_MQ
     P = SparseMatrix_transpose(R);
     B = SparseMatrix_multiply(R, A);
     if (!B) {
-        FREE(deg_intra_new);
-        FREE(wgt_new);
-        FREE(dout_new);
+        free(deg_intra_new);
+        free(wgt_new);
+        free(dout_new);
         goto RETURN;
     }
     cA = SparseMatrix_multiply(B, P); 
     if (!cA) {
-        FREE(deg_intra_new);
-        FREE(wgt_new);
-        FREE(dout_new);
+        free(deg_intra_new);
+        free(wgt_new);
+        free(dout_new);
         goto RETURN;
     }
     SparseMatrix_delete(B);
@@ -500,17 +500,17 @@ static Multilevel_MQ_Clustering Multilevel_MQ_Clustering_establish(Multilevel_MQ
     /* no more improvement, stop and final clustering found */
     for (i = 0; i < n; i++) matching[i] = i;
 
-    FREE(deg_intra_new);
-    FREE(wgt_new);
-    FREE(dout_new);
+    free(deg_intra_new);
+    free(wgt_new);
+    free(dout_new);
   }
 
  RETURN:
   for (i = 0; i < n; i++) SingleLinkedList_delete(neighbors[i], free);
-  FREE(neighbors);
+  free(neighbors);
 
-  FREE(deg_inter);
-  FREE(mask);
+  free(deg_inter);
+  free(mask);
   return grid;
 }
 
@@ -571,7 +571,7 @@ static void hierachical_mq_clustering(SparseMatrix A, int maxcluster,
     real *v = NULL;
     P = cgrid->prev->P;
     SparseMatrix_multiply_vector(P, u, &v, FALSE);
-    FREE(u);
+    free(u);
     u = v;
     cgrid = cgrid->prev;
   }
@@ -583,10 +583,9 @@ static void hierachical_mq_clustering(SparseMatrix A, int maxcluster,
     *assignment = matching;
   }
   for (i = 0; i < grid->n; i++) (matching)[i] = (int) u[i];
-  FREE(u);
+  free(u);
 
   Multilevel_MQ_Clustering_delete(grid);
-  
 }