From 2308e5bfccb88d600b2c6fa91ab21f0f1406088a Mon Sep 17 00:00:00 2001 From: KatolaZ Date: Wed, 13 Apr 2016 14:35:25 +0100 Subject: new version of cartography_from_layers in C --- c/cartography_from_layers.c | 66 +++++++++++++++++++++++++++++++++ models/correlations/tune_qnn_adaptive.c | 9 ++++- 2 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 c/cartography_from_layers.c diff --git a/c/cartography_from_layers.c b/c/cartography_from_layers.c new file mode 100644 index 0000000..db95689 --- /dev/null +++ b/c/cartography_from_layers.c @@ -0,0 +1,66 @@ +/** + * + * 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