*** empty log message ***
authorTerry L. Wilmarth <wilmarth@uiuc.edu>
Fri, 23 Jul 1999 21:17:53 +0000 (21:17 +0000)
committerTerry L. Wilmarth <wilmarth@uiuc.edu>
Fri, 23 Jul 1999 21:17:53 +0000 (21:17 +0000)
src/conv-ldb/edgelist.c
src/conv-ldb/generate.c
src/conv-ldb/typedefs.h

index c8ebd76a7b45d036d162ef804d342c296b4e1d06..3e3fd0a65347f909a3355bef55179f62ce98aa3c 100644 (file)
@@ -23,7 +23,7 @@ addEdge(EdgeList, v,w)
   n = EdgeList->next;
   EdgeList->next++;
 
-  // printf("adding edge: (%d, %d)\n", v, w);
+  /* printf("adding edge: (%d, %d)\n", v, w); */
   ((EdgeList->edges)[n]).node1 = v;
   (EdgeList->edges[n]).node2 = w;
    index =  graph.vertexArray[v].next++;
index e8972c90300aab4b8b660c5bea557872544e799e..4b820bfcb30011faa3bb6db716c2585d945efd93 100644 (file)
@@ -9,6 +9,8 @@ Modified from the original: changed output format, and converted main to a param
 */
 
 #include "stdio.h"
+/* comment this out to test and change CmiPrintf to printf */
+#include "converse.h"
 #include "typedefs.h"
 
 #define VMAX 2050
@@ -21,6 +23,14 @@ VerticesListType graph;
 
 VerticesListType * InitVertices();
 
+
+/* For testing... 
+main(int argc, char **argv)
+{
+  gengraph(atoi(argv[1]), atoi(argv[2]), atoi(argv[3]));
+}
+*/
+
 gengraph(int V, int C, int seed)
 { int i;
   EdgeListType * EdgeList;
@@ -29,20 +39,21 @@ gengraph(int V, int C, int seed)
   extern addEdge();
   char dircmd[20], dirname[10];
 
+  CmiPrintf("for %d PEs, connectivity %d... ", V, C);
+
+  /* make a directory */
+  sprintf(dirname, "graph%d", V);
+  sprintf(dircmd, "mkdir %s", dirname);
+  system(dircmd);
+  
   for (i=0; i<seed; i++) rand();
   if ((V*C %2) != 0) printf("V*C must be even\n");
   E = V*C/2;
-
   initGraph(V, E);
   EdgeList = InitEdgeList(E);
   AddEdges(EdgeList, V, E); 
   /*  vertices = (VerticesListType *) InitVertices(EdgeList, V,E); */
 
-  /* make a directory */
-  sprintf(dirname, "graph%d", V);
-  sprintf(dircmd, "mkdir %s", dirname);
-  system(dircmd);
-  
   printOut(graph); 
   diameter();
 }
@@ -57,6 +68,7 @@ AddEdges(EdgeList, V, n)
 /* first add edges for a C-way spanning tree.*/
 int c1;
 c1 = C-1;
+
 for (i=0; i< V/c1; i++)
   for (j=0; j<c1; j++) {
     w = c1*i + j +1; 
@@ -72,11 +84,15 @@ n -= (V-1);
  for (i=0; i<n; i++) 
    {
      do {
-       do {x = rand() % V;} while (connections(x) >= C);
-       do {y = rand() % V; } while ((y == x) || connections(y) >= C);
+       do {
+        x = rand() % V;
+       } while (connections(x) >= C);
+       do {
+        y = rand() % V; 
+       } while ((y == x) || connections(y) >= C);
      } while (edgeExists(x,y));
-      addEdge(EdgeList, x, y);
-    }
+     addEdge(EdgeList, x, y);
+   }
 }
 
 VerticesListType * 
@@ -256,12 +272,15 @@ diameter()
 {
   Q * makeQueue();
   int i,j, k, v, w, start;
-  int distance[V];
-  int histogram[V];
+  int *distance;
+  int *histogram;
   Q * q;
   int dia;
   float average;
 
+  distance = (int *)calloc(V, sizeof(int));
+  histogram = (int *)calloc(V, sizeof(int));
+
   for (i=0; i<V; i++) {
     histogram[i] = 0; 
   }
index a6565f0021e907f74694e53f0031137ab85515a9..6c40968f9741927cf5574929607294a655e8022f 100644 (file)
@@ -7,7 +7,7 @@ typedef struct {
   int degree; 
   int next; /* temporary count needed to tell where to insert the next entry */
   int adjListInd; /* where in the big array does its adj list begin */
-//  int available; /* number of connections still available. 12/2/97 */
+  /*  int available;*/ /* number of connections still available. 12/2/97 */
 } Vertex;
 
 typedef struct {