Initial commit

This commit is contained in:
Mattéo Delabre 2016-10-05 12:52:58 +02:00
commit 6a109dd796
8 changed files with 53 additions and 0 deletions

13
Makefile Normal file
View File

@ -0,0 +1,13 @@
CC=gcc
FLAGS=-Wall -std=c99
SRC=src
PROG=compress
all: $(SRC)/main.o $(SRC)/freq.o
$(CC) $^ $(FLAGS) -o $(PROG)
%.o: %.cpp
$(CC) $(FLAGS) -c $^
camille:
rm -f $(PROG) *.o *.gch

1
data/test.txt Normal file
View File

@ -0,0 +1 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In viverra est a est luctus, at euismod elit tempus. Maecenas ut auctor lectus, vitae vestibulum est. Nunc id libero tempor, posuere purus laoreet, vehicula sem. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Curabitur porttitor turpis faucibus diam varius, nec venenatis leo gravida. Nulla facilisi. Etiam pellentesque tortor sed urna faucibus venenatis. Nullam pulvinar nunc ut orci sodales, molestie maximus dui suscipit. Mauris commodo vestibulum egestas. Vestibulum tincidunt facilisis diam, in sollicitudin dolor sodales vitae. Sed sit amet sapien ipsum. Fusce non dolor quis mauris lacinia posuere. Nunc semper orci libero, eget fringilla lectus ornare eget. Sed volutpat purus vitae risus mattis auctor. Curabitur auctor pharetra rutrum. Nulla fermentum nulla libero, quis rhoncus elit placerat et. Fusce at sapien vel neque iaculis cursus. Nulla congue massa nec dui finibus, quis tincidunt risus vehicula. Sed fringilla fringilla enim nec ullamcorper. Fusce in velit quis urna semper malesuada. Curabitur id augue in felis fringilla vehicula. Proin facilisis turpis ac ligula euismod, sed consectetur felis lobortis. Sed vehicula eget ex vitae lacinia. Sed lectus nunc, iaculis non nunc sed, imperdiet commodo urna. Suspendisse semper gravida convallis. Morbi ut ligula efficitur, scelerisque purus ut, tincidunt ante. Nam rhoncus ante vel orci accumsan, at laoreet sapien dapibus. Aliquam quis dolor eget ex fermentum malesuada. In non dictum metus. Donec sed nisl finibus, accumsan magna at, lobortis nunc. Sed congue euismod velit eu ullamcorper. Aenean scelerisque odio sapien, rutrum aliquet erat elementum vitae. Cras sed egestas massa, id vestibulum urna. Nam maximus ligula et nulla condimentum, ac hendrerit ante fermentum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus nisi sed felis eleifend, in molestie quam ullamcorper. Nulla in enim volutpat, porta metus.

9
main.c Normal file
View File

@ -0,0 +1,9 @@
#include "freq.h"
#include <stdio.h>
int main(int argc, char** argv) {
if (argc != 2) {
printf("Usage : compress <fichier>\n")
printf("Paramètre fichier manquant.\n");
}
}

29
src/freq.c Normal file
View File

@ -0,0 +1,29 @@
#include "freq.h"
#include <stdlib.h>
#include <stdio.h>
double* computeFreq(const char* filepath) {
double* freq = (double*) malloc(256 * sizeof(double));
int totalChars = 0;
// initialisation du tableau à 0
for (int i = 0; i < 256; i++) {
freq[i] = 0;
}
// parcours du fichier et comptage des caractères
FILE* file = fopen(filepath, "r");
char current;
while ((current = fgetc(file)) != EOF) {
freq[(size_t) current]++;
totalChars++;
}
// conversion des effectifs en fréquences
for (int i = 0; i < 256; i++) {
freq[i] /= totalChars;
}
return freq;
}

1
src/freq.h Normal file
View File

@ -0,0 +1 @@
double* computeFreq(const char* filepath);

BIN
src/freq.o Normal file

Binary file not shown.

0
src/main.c Normal file
View File

BIN
src/main.o Normal file

Binary file not shown.