/** * * Compute the cartography of a multiplex network (participation * coefficient vs average degree) starting from the layers * */ #include #include #include #include "utils.h" int main(int argc, char *argv[]){ int i, val, M; unsigned int N, K, *J_slap=NULL, *r_slap=NULL; unsigned int maxN; double part; unsigned int *k=NULL, *k2=NULL, *tmp; FILE *fin; maxN = 0; M = 0; while(argc-- > 1){ fin = openfile_or_exit(argv[argc], "r", 17); M += 1; if (J_slap) free(J_slap); if (r_slap) free(r_slap); J_slap = r_slap = NULL; /* This is somehow inefficient, since we are going to reallocate that memory in a moment....*/ read_slap(fin, &K, &N, &J_slap, &r_slap); if (N > maxN){ tmp = realloc(k, N * sizeof(unsigned int)); VALID_PTR_OR_EXIT(tmp, 7); k = tmp; tmp = realloc(k2, N * sizeof(unsigned int)); VALID_PTR_OR_EXIT(tmp, 7); k2 = tmp; memset(k+maxN, 0, (N-maxN) * sizeof(unsigned int)); memset(k2+maxN, 0, (N-maxN) * sizeof(unsigned int)); maxN = N; } for(i=0; i