fix some warnings

This commit is contained in:
Aurélien Gauthier 2022-06-21 17:47:27 +02:00
parent ade5b4378f
commit 8bd977ba62
4 changed files with 67 additions and 41 deletions

View file

@ -8,9 +8,9 @@ long **getlongArray(int N, int M) /* Allocate the array */
/* Check if allocation succeeded. (check for NULL pointer) */ /* Check if allocation succeeded. (check for NULL pointer) */
int i; int i;
long **array; long **array;
array = (long **) malloc(N*sizeof(long *)); array = (long **)malloc(N * sizeof(long *));
for(i = 0 ; i < N ; i++) for (i = 0; i < N; i++)
array[i] = (long *) malloc( M*sizeof(long) ); array[i] = (long *)malloc(M * sizeof(long));
return array; return array;
} }
@ -19,69 +19,82 @@ double **getDoubleArray(int N, int M) /* Allocate the array */
/* Check if allocation succeeded. (check for NULL pointer) */ /* Check if allocation succeeded. (check for NULL pointer) */
int i; int i;
double **array; double **array;
array = (double **) malloc(N*sizeof(double *)); array = (double **)malloc(N * sizeof(double *));
for(i = 0 ; i < N ; i++) for (i = 0; i < N; i++)
array[i] = (double *) malloc( M*sizeof(double)); array[i] = (double *)malloc(M * sizeof(double));
return array; return array;
} }
void fillArrayWithRawData(char *rawDataFileName,long** p, int N, int M) { void fillArrayWithRawData(char *rawDataFileName, long **p, int N, int M)
{
int i, j; int i, j;
char *buffer; char *buffer;
size_t bufsize = 200; size_t bufsize = 200;
buffer = (char *)malloc(bufsize * sizeof(char)); buffer = (char *)malloc(bufsize * sizeof(char));
char* token; int token;
FILE *f = fopen(rawDataFileName,"r"); FILE *f = fopen(rawDataFileName, "r");
for(i = 0 ; i < N ; i++){ for (i = 0; i < N; i++)
if (!getline(&buffer, &bufsize, f)) break; // condition d'arret de la boucle si fichier fini {
if (!getline(&buffer, &bufsize, f))
break; // condition d'arret de la boucle si fichier fini
j = 0; j = 0;
while((token = strsep(&buffer,",")) != NULL){ // séparation valeur par virgule initiale : csv while ((token = strsep(&buffer, ",")) != 0)
p[i][j] = atoi(token); { // séparation valeur par virgule initiale : csv
p[i][j] = token;
j++; j++;
} }
} }
fclose(f); fclose(f);
} }
/** /**
* @brief print all the element of a bidimensionnal array p of shape : N x M * @brief print all the element of a bidimensionnal array p of shape : N x M
*/ */
void printArrayData(long** p, int N, int M) { void printArrayData(long **p, int N, int M)
int i, j; {
for(i = 0 ; i < N ; i++){ for (int i = 0; i < N; i++)
printf("line n°%d : " , i); {
for(int j = 0 ; j < M ; j++){ printf("line n°%d : ", i);
printf("%ld , " , p[i][j]); for (int j = 0; j < M; j++)
if(j==(M-1)) printf("\n"); {
printf("%ld , ", p[i][j]);
if (j == (M - 1))
printf("\n");
} }
} }
} }
/** /**
* @brief verify if all the element of an array are not NULL, return * @brief verify if all the element of an array are not NULL, return
* *
* @param p array to check * @param p array to check
* @param N number of rows in p * @param N number of rows in p
* @param M number of columns in p * @param M number of columns in p
* @return true if the array contaign no NULL element * @return true if the array contaign no NULL element
* @return false if at least one element is null * @return false if at least one element is null
*/ */
bool checkArrayFullyFill(long **p, int N){ bool checkArrayFullyFill(long **p, int N)
for(int i = 0 ; i < N ; i++){ {
if(p[i][0] == '\0'){ return false; } for (int i = 0; i < N; i++)
{
if (p[i][0] == '\0')
{
return false;
}
} }
return true; return true;
} }
/** /**
* @brief free memory allocate to an array p * @brief free memory allocate to an array p
* *
* @param p array to free memory * @param p array to free memory
* @param N number of rows in array * @param N number of rows in array
*/ */
void freeArray(long **p, int N) { void freeArray(long **p, int N)
for(int i = 0 ; i < N ; i++){ {
for (int i = 0; i < N; i++)
{
free(p[i]); free(p[i]);
} }
free(p); free(p);
@ -89,19 +102,20 @@ void freeArray(long **p, int N) {
/** /**
* @brief Get the Raw Data Array object * @brief Get the Raw Data Array object
* *
* @param rawDataFileName name of the file to use to file the array * @param rawDataFileName name of the file to use to file the array
* @param N numbers of rows to have i the array * @param N numbers of rows to have i the array
* @param M numbers of columns to have i the array * @param M numbers of columns to have i the array
* @return long** the array fill with raw data * @return long** the array fill with raw data
*/ */
long **getRawDataArray(char* rawDataFileName){ long **getRawDataArray(char *rawDataFileName)
{
long **p; long **p;
p = getlongArray(nRowRawData, nCol); p = getlongArray(nRowRawData, nCol);
fillArrayWithRawData(rawDataFileName,p ,nRowRawData, nCol); fillArrayWithRawData(rawDataFileName, p, nRowRawData, nCol);
//if(checkArrayFullyFill(p,nRow)){ // if(checkArrayFullyFill(p,nRow)){
//clearRawData(N); // clearRawData(N);
return p; return p;
/*} /*}
else{ else{
return NULL; return NULL;

View file

@ -6,7 +6,7 @@
#include <inttypes.h> #include <inttypes.h>
long **getRawDataArray(char *rawDataFileName); long **getRawDataArray(char *rawDataFileName);
void printArrayData(long** p, int N, int M); void printArrayData(long **p, int N, int M);
void freeArray(long **p, int N); void freeArray(long **p, int N);
bool checkArrayFullyFill(long **p, int N ); bool checkArrayFullyFill(long **p, int N);
double **getDoubleArray(int N, int M); double **getDoubleArray(int N, int M);

View file

@ -42,6 +42,7 @@ void *threadCalculPower(void *vargp)
remove(fileName); remove(fileName);
} }
} }
return NULL;
} }
void *threadCalculAverage(void *vargp) void *threadCalculAverage(void *vargp)
@ -58,6 +59,7 @@ void *threadCalculAverage(void *vargp)
remove(fileName); remove(fileName);
} }
} }
return NULL;
} }
void *threadCalculBoth(void *vargp) void *threadCalculBoth(void *vargp)
@ -75,6 +77,7 @@ void *threadCalculBoth(void *vargp)
remove(fileName); remove(fileName);
} }
} }
return NULL;
} }
void *threadCalculGrowthRate(void *vargp) void *threadCalculGrowthRate(void *vargp)
@ -124,6 +127,7 @@ void *threadCalculGrowthRate(void *vargp)
remove(fileName); remove(fileName);
} }
} }
return NULL;
} }
int main(int argc, char **argv) int main(int argc, char **argv)
@ -144,9 +148,14 @@ int main(int argc, char **argv)
firstRawDataQueue = queueCreateEmpty(); // change this for create empty firstRawDataQueue = queueCreateEmpty(); // change this for create empty
pthread_t rawData; pthread_t rawData;
pthread_create(&rawData, NULL, threadSimulateFlux, (void *)&rawData); if (pthread_create(&rawData, NULL, threadSimulateFlux, "threadSimulflux") != 0)
{
perror("pthread_create() error");
exit(1);
}
pthread_t calcul; pthread_t calcul;
pthread_create(&calcul, NULL, threadCalculGrowthRate, (void *)&calcul); pthread_create(&calcul, NULL, threadCalculGrowthRate, "threadCalcul");
pthread_exit(NULL); pthread_exit(NULL);
} }

View file

@ -123,7 +123,6 @@ bool writeOneRawData(FILE *rawDataFile)
char buff2[18]; char buff2[18];
int32_t values[8]; int32_t values[8];
uint32_t valbin[8]; uint32_t valbin[8];
quartet value;
if (fread(&buff, 26, 1, stdin)) if (fread(&buff, 26, 1, stdin))
{ {
@ -146,11 +145,13 @@ bool writeOneRawData(FILE *rawDataFile)
strncpy(&buff[8], buff2, 18); strncpy(&buff[8], buff2, 18);
} }
} }
int lastIndex = lastIndexCaptor(); int lastIndex = lastIndexCaptor();
for (int i = 1; i < 9; i++) for (int i = 1; i < 9; i++)
{ {
if (selectionCaptors[i - 1]) if (selectionCaptors[i - 1])
{ {
quartet value;
value.octet1 = buff[3 * i + 1]; value.octet1 = buff[3 * i + 1];
value.octet2 = buff[3 * i + 2]; value.octet2 = buff[3 * i + 2];
value.octet3 = buff[3 * i + 3]; value.octet3 = buff[3 * i + 3];
@ -183,6 +184,7 @@ bool writeOneRawData(FILE *rawDataFile)
return false; return false;
} }
} }
return false;
} }
void *threadSimulateFlux(void *vargp) void *threadSimulateFlux(void *vargp)
@ -202,8 +204,9 @@ void *threadSimulateFlux(void *vargp)
queueAddLastQ(firstRawDataQueue, fileName, strlen(fileName)); queueAddLastQ(firstRawDataQueue, fileName, strlen(fileName));
// prepare next file now // prepare next file now
fileName = createNewRawDataFileName(); fileName = createNewRawDataFileName();
FILE *rawDataFile = fopen(fileName, "w+"); rawDataFile = fopen(fileName, "w+");
} }
} }
rawDataWriteFlag = false; rawDataWriteFlag = false;
return NULL;
} }