Commit Graph

53 Commits

Author SHA1 Message Date
Mattéo Delabre e915bd3080 Renommage name -> value, frequency -> count dans HufTree
Initialisation de value à -1 lorsque aucune valeur
2016-11-20 15:57:15 +01:00
Mattéo Delabre fdbdeb1756 Support du fichier vide
Utilisation des effectifs au lieu des fréquences pour éviter
les divisions par 0. Ne pas vider le tampon s'il est déjà vide.
Représentation par un arbre vide si aucun caractère.
2016-11-20 14:33:55 +01:00
Mattéo Delabre e013dca1bc Utilisation des int 64 dans la décompression 2016-11-20 01:54:46 +01:00
Mattéo Delabre deb22164d4 Support de la décompression 2016-11-20 01:49:11 +01:00
Mattéo Delabre ef8d547f6b Ajout d'une note pour gérer la fin inattendue du fichier 2016-11-20 01:48:32 +01:00
Mattéo Delabre b9b9e35115 Utilisation d'entiers 64 pour le stockage de la taille 2016-11-20 01:40:24 +01:00
Mattéo Delabre 16266d3f9a Commente l'algorithme de compression dans compress.c 2016-11-20 01:30:50 +01:00
Mattéo Delabre 68817286ea Corrections pour la détection de l'EOF 2016-11-20 01:29:24 +01:00
Mattéo Delabre 7d5599d80a Le programme n'accepte plus stdin pour entrée
(Incompatible avec le fait que l'algo. de Huffman doive
lire l'entrée en deux passes)
2016-11-19 21:41:05 +01:00
Mattéo Delabre 0bddeb367c Ajouter les statistiques de compression dans compress 2016-11-19 21:40:37 +01:00
Mattéo Delabre ec235ddea7 MàJ de display pour fonctionner avec le nouveau HufTree 2016-11-19 21:40:02 +01:00
Mattéo Delabre 9576b371ce Modification du type HufTree et implémentation lecture arbre
Utilisation de WriteBuffer et ReadBuffer et le type HufTree
n'est plus une structure mais un typedef vers HufVertex*
2016-11-19 21:38:56 +01:00
Mattéo Delabre e19860e544 Rajoute le compteur d'écritures dans le WriteBuffer 2016-11-19 21:36:31 +01:00
Mattéo Delabre fbc2e4730d Ajout d'un texte "normal" pour tester le taux de compression 2016-11-19 15:55:06 +01:00
Mattéo Delabre 77ac3d3d4c Ajout du pendant ReadBuffer pour lire bit par bit 2016-11-19 15:53:43 +01:00
Mattéo Delabre aa63afb9d8 S'assure que les informations de débogage vont dans stderr 2016-11-19 14:58:55 +01:00
Mattéo Delabre bd0c0afd89 Ajout d'un compteur d'octets écrits dans les tampons 2016-11-19 14:58:05 +01:00
Mattéo Delabre f8f9ae667e Ajout des infos de contact & de version 2016-10-28 16:44:23 +02:00
Mattéo Delabre deb614c5da Correction des inclusions nettoyées 2016-10-28 16:44:05 +02:00
Mattéo Delabre 05302b0f96 Nettoyage des en-têtes et réorganisation 2016-10-28 16:35:50 +02:00
Mattéo Delabre f5522c4036 Amélioration de l'interface de la ligne de commande 2016-10-28 16:27:25 +02:00
Mattéo Delabre 69f64a3fc5 Correction d'un bug avec le fichier tous les caractères
(Stockage du nom avec un entier au lieu d'un char)
2016-10-27 18:49:41 +02:00
Mattéo Delabre 07b9a19930 Nettoyage des anciens en-têtes 2016-10-27 18:20:57 +02:00
Mattéo Delabre d647fc5452 Encodage du fichier compressé 2016-10-27 18:20:18 +02:00
Mattéo Delabre 948f73027b Ajout de la fonction pour sérialiser les arbres 2016-10-27 18:19:44 +02:00
Mattéo Delabre 24f66c415e Ajout du fichier de test contenant tous les caractères 2016-10-27 15:37:06 +02:00
Mattéo Delabre e67cccce22 Ajout d'une structure tampon 2016-10-27 15:36:51 +02:00
Mattéo Delabre f1819526ed Ignorer le dossier out/ 2016-10-27 15:36:29 +02:00
Mattéo Delabre a4955a4283 Correction des flags dans l'éditeur 2016-10-25 06:53:22 +02:00
Mattéo Delabre 61f65d0aef Réorganisation du code & du makefile 2016-10-25 06:51:07 +02:00
Mattéo Delabre 7871866a68 Ajout de la configuration de l'éditeur 2016-10-25 06:50:56 +02:00
Mattéo Delabre 457f797334 Ajout d'un script pour générer de gros fichiers 2016-10-22 19:08:39 +02:00
Mattéo Delabre 3aef7806cd Amélioration de l'affichage verbeux sur +eurs fichiers 2016-10-22 19:01:48 +02:00
Mattéo Delabre 6cea8e8db5 Ajout d'un fichier long & un fichier avec 1 seul type de caract.
* Fichier long -> test de consommation mémoire
* Fichier 1 caractère -> algo non-fonctionnel (a besoin d'au
  moins 2 sommets)
2016-10-22 14:09:51 +02:00
Mattéo Delabre c0de61b95a Correction de la position des étoiles de pointeurs 2016-10-22 10:56:13 +02:00
Mattéo Delabre f7378d4707 Correction des indentations (tabulations -> espaces) 2016-10-22 10:51:27 +02:00
Mattéo Delabre 16e6a0c5ca Affiche la longueur moyenne de codage dans le verbeux 2016-10-22 03:58:53 +02:00
Mattéo Delabre 9840b3624f Affichage d'une erreur si fichier non ouvrable 2016-10-22 03:58:34 +02:00
Mattéo Delabre e372723d62 Ajout d'un fichier vide dans les fichiers de test 2016-10-22 03:58:18 +02:00
Mattéo Delabre 07babd3027 Utilisation de -V/--verbose pour l'affichage verbeux 2016-10-22 03:02:52 +02:00
Mattéo Delabre 2b3162cd66 Accepte les options via Argp 2016-10-22 02:56:35 +02:00
Mattéo Delabre c142d06464 Correction warning car oubli d'enlever paramètre printf 2016-10-22 02:56:20 +02:00
Mattéo Delabre 979d9faa6e Renommage du programme en `huffman` 2016-10-22 02:55:02 +02:00
Mattéo Delabre 5fc433cf56 Restructuration de la sortie verbeuse 2016-10-22 01:09:46 +02:00
Mattéo Delabre 59b20e9321 Ajout de fonctions permettant la gestion de la sortie verbeuse 2016-10-22 01:08:56 +02:00
Mattéo Delabre b3d7c1a32e Réorganisation du code en modules
* Extraction des fonctions spécifiques à
  l'arbre dans huftree.h/.c
* Extraction de la routine de compression
  dans compress.h/.c
* Déplacement des fonctions d'affichage dans
  display.h/.c
* Isolement des constantes dans common.h
2016-10-21 19:50:04 +02:00
Mattéo Delabre 4b19376b1b Ajout de fichiers de test supplémentaires 2016-10-21 19:46:59 +02:00
Mattéo Delabre 4f3abde7a6 Ajout gitignore 2016-10-19 09:54:41 +02:00
Mattéo Delabre 1bedf2120e Double-chaînage de l'arbre 2016-10-12 12:57:57 +02:00
Mattéo Delabre 8ce897ce33 Implantation de l'algorithme de construction de l'arbre
Ajout d'un programme principal de test
2016-10-12 12:28:38 +02:00