typedef struct { int nv; /* Number of vertices. */ float **d; /* "d[i][j]" is the distance from vertex "i" to "j". */ edge_ref **e; /* "e[i][j]" is the first edge of shortest path. */ } DistMatrix; streetmap_compute_all_distances(Map *m, float **d, ) { DistMatrix d = (DistMatrix)malloc(m->nv * sizeof(float *)); affirm(d != NULL, "out of memory"); for (i = 0; i < m->nv; i++) { fprintf(stderr, "\n"); fprintf(stderr, "scanning iv = %d d[iv] = %f\n", iv, d[iv]); fprintf(stderr, " ia = %d cnew = %f", ia, cnew); fprintf(stderr, " iw = %d", iw); if (d[iw] < MAXFLOAT) { fprintf(stderr, " d[iw] = %f", d[iw]); } fprintf(stderr, " (ins)"); fprintf(stderr, "\n"); fprintf(stderr, "\n"); fprintf(stderr, "popped ia = %d c[ia] = %f iw = %d\n", ia, c[ia], iw); if (d[iw] < MAXFLOAT) { fprintf(stderr, " d[iw] = %f\n", d[iw]); }