Skip to content
Extraits de code Groupes Projets
Valider dabc5022 rédigé par Corentin Lengelé's avatar Corentin Lengelé
Parcourir les fichiers

Fix valgrind error + first RM

parent 33a7d40e
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
# lepl1503-2020-groupe-C1 # lepl1503-2020-groupe-C1
- 'example-input.txt' : Exemple de fichier du projet. ##Description
\ No newline at end of file
##Installation
The use of a Debian based Linux distribution like Ubuntu or Dedora is recommended.<br/>
To run the tests, you need to install Cunit, valgrind and cppcheck.
Install Cunit:
```bash
sudo apt-get install libcunit1-dev libcunit1-doc libcunit1
```
Install Valgrind:
```bash
sudo apt-get install valgrind
```
Install Cppcheck:
```bash
sudo apt-get install cppcheck
```
##Usage
- To compile the program use:
```bash
make fact
```
- To run the program use:
```bash
./fact [-OPTIONS...] Input_file Output_file
```
- To run tests use:
```bash
make test
```
###Options
- "-N": Determine the amount of threads to use
- "--verbose" or "-v": Enable debug
- "--help" or "-h": Print help
...@@ -108,7 +108,6 @@ void free_queue(queue_t *queue){//Free a queue ...@@ -108,7 +108,6 @@ void free_queue(queue_t *queue){//Free a queue
free(queue); free(queue);
} }
/* /*
* Constructor for a new Queue empty * Constructor for a new Queue empty
* mode: 0 -> buffer type = dividers_t * mode: 0 -> buffer type = dividers_t
...@@ -157,7 +156,6 @@ void div_free_queue(div_queue_t *queue){//Free a queue ...@@ -157,7 +156,6 @@ void div_free_queue(div_queue_t *queue){//Free a queue
free(queue); free(queue);
} }
//Print help for option -h or --help //Print help for option -h or --help
void printHelp(){ void printHelp(){
printf("Usage: ./prime_divs [OPTION...]\n" printf("Usage: ./prime_divs [OPTION...]\n"
...@@ -198,7 +196,6 @@ long long findnextprime(long long prime){ ...@@ -198,7 +196,6 @@ long long findnextprime(long long prime){
return i; return i;
} }
void euclide(long long number, dividers_t* result, int index, long long last_div){ void euclide(long long number, dividers_t* result, int index, long long last_div){
if(number == 1){ if(number == 1){
return; return;
...@@ -222,11 +219,6 @@ void euclide(long long number, dividers_t* result, int index, long long last_div ...@@ -222,11 +219,6 @@ void euclide(long long number, dividers_t* result, int index, long long last_div
} }
} }
dividers_t prime_divs(long long number){ dividers_t prime_divs(long long number){
dividers_t result; dividers_t result;
result.value = number; result.value = number;
...@@ -243,42 +235,6 @@ dividers_t prime_divs(long long number){ ...@@ -243,42 +235,6 @@ dividers_t prime_divs(long long number){
return result; return result;
} }
/*
//TODO : Remake fonction prime_divs
dividers_t prime_divs(long long number){
dividers_t result;
result.length = 0;
result.value = number;
for (long long i = 2; i < number; i++) {
if(is_prime(i) && is_div(number,i)){
result.length++;
}
}
//TODO: free each and every dividers
result.dividers = malloc(sizeof(long long) * result.length);
if(result.dividers == NULL){
printf("Malloc error in prime_divs for result.dividers\n");
result.length = -1;
return result;
}
int count=0;
for (long long i = 2; i < number; i++) {
if(is_prime(i) && is_div(number,i)){
printf("%lld\n",i );
result.dividers[count] = i;
count++;
}
}
return result;
}
*/
void* produce(){ void* produce(){
FILE* fdIn = fopen(Args.input_file,"r"); FILE* fdIn = fopen(Args.input_file,"r");
if(fdIn == NULL){ if(fdIn == NULL){
...@@ -341,7 +297,7 @@ void* compute(){ ...@@ -341,7 +297,7 @@ void* compute(){
sem_post(&full2); sem_post(&full2);
if (counter == 0){ if (counter == 0){
for (int i = Args.nThreads; i >= 0 + finished;i--){ for (int i = Args.nThreads - 1; i >= 0 + finished;i--){
pthread_cancel(threads[i]); pthread_cancel(threads[i]);
} }
} }
......
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