/*! \fn int WriteRUsage(int who, char *pre, char *fname) \brief Writes usage statistics to file fname. See man getrusage. probably want: who = RUSAGE_SELF; pre is a string that will start each line. */ int WriteRUsage(int who, const char *pre, char *fname) { int err; FILE *fp; fp = fopen(fname,"w"); if(fp==NULL) return(1); err = PrintRUsage(who, pre, fp); return(err); }
void main(int argc, char *argv[]) { int nVertex; int nEdge; Vertices * graph; struct rusage * rUBuf1; struct rusage * rUBuf2; nVertex = DEFAULT_N_VERTEX; nEdge = DEFAULT_N_EDGE; if(argc > 1) { nVertex = atoi(argv[1]); if(argc > 2) { nEdge = atoi(argv[2]); if(argc > 3) { srandom(atoi(argv[3])); } } } rUBuf1 = (struct rusage *)malloc(sizeof(struct rusage)); assert(rUBuf1 != NULL); rUBuf2 = (struct rusage *)malloc(sizeof(struct rusage)); assert(rUBuf1 != NULL); if(debug) { printf("Generating a connected graph ... "); } graph = GenGraph(nVertex, nEdge); if(debug) { printf("done\nFinding the mininmum spanning tree ... "); } getrusage(RUSAGE_SELF, rUBuf1); graph = MST(graph); getrusage(RUSAGE_SELF, rUBuf2); if(debug) { printf("done\nThe graph:\n"); PrintGraph(graph); printf("The minimum spanning tree:\n"); PrintMST(graph); } if(debug) { printf("Time spent in finding the mininum spanning tree:\n"); } PrintRUsage(rUBuf1, rUBuf2); #ifdef PLUS_STATS PrintDerefStats(stderr); PrintHeapSize(stderr); #endif /* PLUS_STATS */ exit(0); }