Skip to content
Extraits de code Groupes Projets
Valider 6ec291a6 rédigé par Arnaud Lefebvre's avatar Arnaud Lefebvre
Parcourir les fichiers

Replace fonctions.c

parent 57ad01e3
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Pipeline #9952 réussi
......@@ -9,7 +9,8 @@
#include "fonctions.h"
/*
Initialise une liste de node contenant un entier
Initialise une liste de node_t
@my_list : la list_t qui est initialisée
*/
void init_list_t(list_t *my_list) {
my_list->first = NULL;
......@@ -18,7 +19,8 @@ void init_list_t(list_t *my_list) {
}
/*
Initialise une liste de node contenant une liste
Initialise une liste de node_lst
@my_list : la list_lst qui est initialisée
*/
void init_list_lst(list_lst *my_list) {
my_list->first = NULL;
......@@ -27,7 +29,9 @@ void init_list_lst(list_lst *my_list) {
}
/*
Ajoute un node contenant un entier à la fin d'une liste
Ajoute un node_t à la fin d'une list_t
@my_list : la list_t a laquelle on va ajouter un node_t
@value : la valeur que contiendra le node_t
*/
void put_node_t(list_t *my_list, int value) {
node_t *new = malloc(sizeof(node_t));
......@@ -45,7 +49,9 @@ void put_node_t(list_t *my_list, int value) {
}
/*
Ajoute un node contenant une liste à la fin d'une liste
Ajoute un node_lst à la fin d'une list_lst
@my_list : la list_lst a laquelle on va ajouter un node_lst
@put_list : la list_t que contiendra le node_lst
*/
void put_node_lst(list_lst *my_list, list_t *put_list) {
node_lst *new = malloc(sizeof(node_lst));
......@@ -63,7 +69,9 @@ void put_node_lst(list_lst *my_list, list_t *put_list) {
}
/*
Retire le premier node d'une liste et renvoit son entier
Retire le premier node_t d'une list_t et renvoit son entier
@my_list : la list_t de laquelle on va retier le node_t pointé par first
@return : la valeur (int) que contenait le node_t retiré
*/
int get_node_t(list_t *my_list) {
if (my_list->length == 0) return -1;
......@@ -76,7 +84,9 @@ int get_node_t(list_t *my_list) {
}
/*
Retire le premier node d'une liste et renvoit sa liste
Retire le premier node_lst d'une list_lst et renvoit sa liste
@my_list ; la list_lst de laquelle on va retirer le node_lst pointé par first
@return : la liste (list_t) que contenait le node_lst retiré
*/
list_t *get_node_lst(list_lst *my_list) {
if (my_list->length == 0) return NULL;
......@@ -89,17 +99,9 @@ list_t *get_node_lst(list_lst *my_list) {
}
/*
Renvoit l'entier d'un node situé à une position donnée
Vide une list_t de node_t
@my_list : la list_t qui va être vidée
*/
int get_at_index(list_t *my_list, int index) {
if (my_list->length < index || index < 0) return -1;
node_t *temp = my_list->first;
for (int i = 0; i < index; i++) {
temp = temp->next;
}
return temp->value;
}
void clear_list_t(list_t *my_list) {
if (my_list == NULL || my_list->length == 0) return;
node_t *temp = my_list->first->next;
......@@ -113,15 +115,11 @@ void clear_list_t(list_t *my_list) {
my_list->first = NULL;
}
void clear_list_lst(list_lst *my_list) {
if (my_list->length == 0) return;
while (my_list->length != 0) {
list_t *temp = get_node_lst(my_list);
clear_list_t(temp);
free(temp);
}
}
/*
Renvoie une list_t contenant un nombre suivi de ses diviseurs premiers
@value : le nombre (int) dont on veut trouver les diviseurs premiers
@return : une list_t contenant value dans le node_t pointé par first ainsi que ses diviseurs premiers
*/
list_t *prime_list(int value) {
list_t *prime = malloc(sizeof(list_t));
if (!prime) return NULL;
......@@ -154,6 +152,11 @@ list_t *prime_list(int value) {
return prime;
}
/*
Initialise un buffer1
@nthreads : le nombre (int) de threads passé en argument du programme
@return : un pointeur vers un buffer1 initialisé
*/
buffer1 *init_buffer_1(int nthreads) {
buffer1 *buffer_1 = malloc(sizeof(buffer1));
if (!buffer_1) {
......@@ -189,6 +192,11 @@ buffer1 *init_buffer_1(int nthreads) {
return buffer_1;
}
/*
Initialise un buffer2
@nthreads : le nombre (int) de threads passé en argument du programme
@return : un pointeur vers un buffer2 initialisé
*/
buffer2 *init_buffer_2(int nthreads) {
buffer2 *buffer_2 = malloc(sizeof(buffer2));
if (!buffer_2) {
......@@ -210,6 +218,7 @@ buffer2 *init_buffer_2(int nthreads) {
return NULL;
}
buffer_2->can_stop = false;
buffer_2->prime_numbers = malloc(sizeof(list_lst));
if (!buffer_2->prime_numbers) {
free(buffer_2->prime_numbers);
......@@ -221,15 +230,4 @@ buffer2 *init_buffer_2(int nthreads) {
printf ("buffer_2 created.\n");
return buffer_2;
}
int count_lines(char *filename){
int number;
int lines = 0;
FILE *file = fopen(filename, "r");
while (fscanf(file, "%d", &number) != EOF) {
lines++;
}
fclose(file);
return lines;
}
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter