From 3309f6f5fea4a40e301650ed7aae7efc583f5c4e Mon Sep 17 00:00:00 2001 From: Ulysse Beaugnon Date: Wed, 11 Jul 2012 16:21:01 +0900 Subject: [PATCH] The results are now directly flushed to the disc so, if a simulation is taking too long, we can stop it and restart where we are --- simulation/main.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/simulation/main.cpp b/simulation/main.cpp index 98d6ab0..0cfa291 100644 --- a/simulation/main.cpp +++ b/simulation/main.cpp @@ -1,6 +1,5 @@ // To compile : g++ -std=c++0x results.cpp graph.cpp main.cpp -lpthread #include "main.h" -#include #include #include @@ -33,12 +32,12 @@ int main(int argc, char** argv) { mt19937 rng(time(NULL)); - fstream output(outName, fstream::out); - output << "n,k,maxPeer,avgDistance,disconnected,disconnectionProba,maxDistance,maxArityDistrib" << endl; - + FILE* output = fopen(outName, "wt"); + int fno = fileno(output); + fprintf(output, "n,k,maxPeer,avgDistance,disconnected,disconnectionProba,maxDistance,maxArityDistrib\n"); vector> outputStrings; - for(int n=200; n<=200; n*=2) + for(int n=200; n<=20000; n*=2) for(int k=10; k<=10; k+=5) for(float a=0.05; a<1; a+=0.05) { @@ -48,8 +47,8 @@ int main(int argc, char** argv) ostringstream out; out << n << "," << k << "," << 3*k << "," << results.avgDistance << "," << results.disconnected << "," << results.disconnectionProba << "," - << results.maxDistanceReached << "," << results.arityDistrib[3*k]; - + << results.maxDistanceReached << "," << results.arityDistrib[3*k] + << endl; return out.str(); })); } @@ -59,13 +58,16 @@ int main(int argc, char** argv) int nTask = outputStrings.size(); for(int i=0; i