From 21cb319b25a36f2714e6c79b5ae2e3a9dc22378c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Gauthier?= Date: Wed, 15 Jun 2022 15:45:14 +0200 Subject: [PATCH] =?UTF-8?q?=20growthRate=20thread=20impl=C3=A9mentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Code-C/Makefile | 2 +- Code-C/growthRate.c | 1 + Code-C/growthRate.h | 5 ++++- Code-C/growthrate.c | 39 --------------------------------------- Code-C/growthrate.h | 4 ---- Code-C/main | Bin 40128 -> 41632 bytes Code-C/main.c | 24 ++++++++++++++++++++---- Code-C/power.c | 13 ++++++++----- Code-C/power.h | 2 +- 9 files changed, 35 insertions(+), 55 deletions(-) delete mode 100644 Code-C/growthrate.c delete mode 100644 Code-C/growthrate.h diff --git a/Code-C/Makefile b/Code-C/Makefile index 8b874a0..44a0a3d 100644 --- a/Code-C/Makefile +++ b/Code-C/Makefile @@ -1,5 +1,5 @@ CC = gcc all: - $(CC) -g fileGestion.c getArray.c average.c power.c queue.c simulateFlux.c main.c -lm -lpthread -o main + $(CC) -g fileGestion.c getArray.c average.c growthRate.c power.c queue.c simulateFlux.c main.c -lm -lpthread -o main ./main < ../02400031.TXT \ No newline at end of file diff --git a/Code-C/growthRate.c b/Code-C/growthRate.c index 951e2c2..c381864 100644 --- a/Code-C/growthRate.c +++ b/Code-C/growthRate.c @@ -1,6 +1,7 @@ #include "initialParameters.h" #include "fileGestion.h" #include "getArray.h" +#include "growthRate.h" /** * @brief calculate de growth rate between to point next to each other * diff --git a/Code-C/growthRate.h b/Code-C/growthRate.h index 3a1f118..1e0b201 100644 --- a/Code-C/growthRate.h +++ b/Code-C/growthRate.h @@ -1 +1,4 @@ -void growthRateFunction(); \ No newline at end of file +#include +#include + +void growthRateFunction(double *dataLign); \ No newline at end of file diff --git a/Code-C/growthrate.c b/Code-C/growthrate.c deleted file mode 100644 index 2f8d4fc..0000000 --- a/Code-C/growthrate.c +++ /dev/null @@ -1,39 +0,0 @@ -#include "average.h" -#include "getArray.h" -#include "fileGestion.h" -#include "initialParameters.h" -#include "queue.h" - -/** - * @brief realize the growthRate calcul - * - * @param p array with all the values that will be used for the calcul - * @param powerArray array where results are stocked - */ -void growthRateCalculation(long **p, double powerArray[]){ - for(int i = 1; i < nCol; i++){ - int j = 0; - powerArray[i] = 0; - while(j < nRow-1){ - double aire = ( pow(p[j][i],2) + pow(p[j+1][i],2) ) / 2 * period; - powerArray[i] += aire; - j++; - } - powerArray[i] *= invTimeBandWidth; - } -} - -/** - * @brief function that realize all the action to write one lign in the file growthRateData.csv - * - * @param rawDataFileName name of the raw data file to use to realize the calcul - */ -void growthRate(char* rawDataFileName){ - long **p = getRawDataArray(rawDataFileName), ; - double gRate[nCol -1]; - if(p !=NULL){ - growthRateCalculation(p,gRate); - appendDataInFile("averageData.csv",aver,nCol-1); - freeArray(p,nRow); - } -} \ No newline at end of file diff --git a/Code-C/growthrate.h b/Code-C/growthrate.h deleted file mode 100644 index 107db51..0000000 --- a/Code-C/growthrate.h +++ /dev/null @@ -1,4 +0,0 @@ -#include -#include - -void growthRate(char* rawDataFileName); \ No newline at end of file diff --git a/Code-C/main b/Code-C/main index d66df7a1eabb898d6c12672dd586839b7d357733..a7621956ed14f17d53e56e87cac60e60efa9efa9 100755 GIT binary patch delta 10953 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 delta 8733 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 E0DrLm-2eap diff --git a/Code-C/main.c b/Code-C/main.c index b8f4190..5d747ef 100644 --- a/Code-C/main.c +++ b/Code-C/main.c @@ -29,7 +29,7 @@ void *threadCalculPower(void *vargp){ while(queueGetNextE(rawDataQueue) != NULL){ rawDataQueue = queueGetNextE(rawDataQueue); fileName = queueGetTabChar(rawDataQueue); - powerFunction(fileName); + powerFunction(fileName, NULL); remove(fileName); } } @@ -55,7 +55,7 @@ void *threadCalculBoth(void *vargp){ while(queueGetNextE(rawDataQueue) != NULL){ rawDataQueue = queueGetNextE(rawDataQueue); fileName = queueGetTabChar(rawDataQueue); - powerFunction(fileName); + powerFunction(fileName, NULL); averageThreadFunction(fileName); remove(fileName); } @@ -65,6 +65,9 @@ void *threadCalculBoth(void *vargp){ void *threadCalculGrowthRate(void * vargp){ Pqueue rawDataQueue = firstRawDataQueue; char* fileName; + //double pw[nCol-1]; + double *dataLign[2][nCol-1]; + int i = 0; while(rawDataWriteFlag){ //add case first file traitement //(possibility 1: call twice powerfunction , following while strat after 2 file encountered) @@ -72,8 +75,21 @@ void *threadCalculGrowthRate(void * vargp){ while(queueGetNextE(rawDataQueue) != NULL){ rawDataQueue = queueGetNextE(rawDataQueue); fileName = queueGetTabChar(rawDataQueue); - //double *dataLign = powerFunction(fileName); - growthRateFunction(dataLign); + if(i < 2){ + if(i == 1){ + powerFunction(fileName, dataLign[1]); + growthRateFunction(**dataLign); + }else{ + powerFunction(fileName, dataLign[0]); + } + i++; + }else{ + for(int y = 0; y < (nCol-1); y++){ + dataLign[0][y] = dataLign[1][y]; + } + powerFunction(fileName, dataLign[1]); + growthRateFunction(**dataLign); + } remove(fileName); } } diff --git a/Code-C/power.c b/Code-C/power.c index 7e6b1b3..b6ba5d9 100644 --- a/Code-C/power.c +++ b/Code-C/power.c @@ -30,13 +30,16 @@ void powerCalculation(long **p, double powerArray[]){ * @param N number of rows in the file * @param M number of columns in the file */ -double *powerFunction(char* rawDataFileName){ +void powerFunction(char* rawDataFileName, double **pw){ long **p = getRawDataArray(rawDataFileName); - double pw[nCol-1]; + double pww[nCol-1]; if(p !=NULL){ - powerCalculation(p,pw); - appendDataInFile("powerData.csv",pw,nCol-1); + if(pw == NULL){ + powerCalculation(p,pww); + }else{ + powerCalculation(p,*pw); + } + appendDataInFile("powerData.csv",*pw,nCol-1); freeArray(p,nRow); } - return pw; } \ No newline at end of file diff --git a/Code-C/power.h b/Code-C/power.h index a2a134e..043857c 100644 --- a/Code-C/power.h +++ b/Code-C/power.h @@ -1,4 +1,4 @@ #include #include -double *powerFunction(char* rawDataFileName); \ No newline at end of file +void powerFunction(char* rawDataFileName, double **pw); \ No newline at end of file