#include "power.h" #include "getArray.h" #include "fileGestion.h" #include "initialParameters.h" #include "queue.h" /** * @brief realize the powerThreadFunction calcul * * @param p array with all the values that will be used for the calcul * @param powerArray array where results are stocked */ void powerCalculation(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 powerData.csv * * @param rawDataFileName name of the raw data file to use to realize the calcul * @param N number of rows in the file * @param M number of columns in the file */ void powerFunction(char* rawDataFileName, double **pw){ long **p = getRawDataArray(rawDataFileName); double pww[nCol-1]; if(p !=NULL){ if(pw == NULL){ powerCalculation(p,pww); appendDataInFile("powerData.csv",pww,nCol-1); }else{ powerCalculation(p,*pw); appendDataInFile("powerData.csv",*pw,nCol-1); } freeArray(p,nRow); } }