Nettoyage des anciens en-têtes
This commit is contained in:
		
							parent
							
								
									d647fc5452
								
							
						
					
					
						commit
						07b9a19930
					
				|  | @ -1,26 +0,0 @@ | |||
| #ifndef __IN303_COMMON_H__ | ||||
| #define __IN303_COMMON_H__ | ||||
| 
 | ||||
| #define TRUE 1 | ||||
| #define FALSE 0 | ||||
| #define NUM_CHARS 256 | ||||
| 
 | ||||
| /**
 | ||||
|  * Écrire sur la sortie standard à la manière de printf, | ||||
|  * seulement si le mode verbeux est actif | ||||
|  */ | ||||
| void printVerbose(const char* format, ...); | ||||
| 
 | ||||
| /**
 | ||||
|  * Active ou désactive l'affichage des messages verbeux | ||||
|  * (mode verbeux). Si activé, `printVerbose` écrit sur | ||||
|  * la sortie standard. Sinon, `printVerbose` n'a pas d'effet | ||||
|  */ | ||||
| void setVerbose(int); | ||||
| 
 | ||||
| /**
 | ||||
|  * Renvoie l'état du mode verbeux | ||||
|  */ | ||||
| int isVerbose(); | ||||
| 
 | ||||
| #endif | ||||
|  | @ -1,8 +0,0 @@ | |||
| #ifndef __IN303_COMPRESS_H__ | ||||
| #define __IN303_COMPRESS_H__ | ||||
| 
 | ||||
| #include "huftree.h" | ||||
| 
 | ||||
| void compress(const char* filepath); | ||||
| 
 | ||||
| #endif | ||||
|  | @ -1,25 +0,0 @@ | |||
| #ifndef __IN303_DISPLAY_H__ | ||||
| #define __IN303_DISPLAY_H__ | ||||
| 
 | ||||
| #include "huftree.h" | ||||
| #include <stdlib.h> | ||||
| 
 | ||||
| /**
 | ||||
|  * Afficher sur la sortie standard l'arbre passé | ||||
|  * en paramètre | ||||
|  */ | ||||
| void printTree(HufTree tree); | ||||
| 
 | ||||
| /**
 | ||||
|  * Afficher sur la sortie standard le tableau associant les caractères | ||||
|  * à leur fréquence d'apparition passé en argument | ||||
|  */ | ||||
| void printFrequenciesTable(double*, size_t); | ||||
| 
 | ||||
| /**
 | ||||
|  * Afficher sur la sortie standard le tableau associant les caractères | ||||
|  * à leur étiquette passé en argument | ||||
|  */ | ||||
| void printLabelsTable(char**, size_t); | ||||
| 
 | ||||
| #endif | ||||
|  | @ -1,70 +0,0 @@ | |||
| #ifndef __IN303_HUFTREE_H__ | ||||
| #define __IN303_HUFTREE_H__ | ||||
| 
 | ||||
| #include <stdlib.h> | ||||
| 
 | ||||
| /**
 | ||||
|  * Représente un des sommets d'un arbre de Huffman | ||||
|  */ | ||||
| typedef struct HufVertex HufVertex; | ||||
| struct HufVertex { | ||||
|     // Indique la fréquence d'apparition de la lettre du sommet
 | ||||
|     // dans le corpus original, ou bien la somme des fréquences
 | ||||
|     // de ses enfants (si ce n'est pas une feuille)
 | ||||
|     double frequency; | ||||
| 
 | ||||
|     // Caractère du corpus original associé à ce sommet. Uniquement
 | ||||
|     // valable pour les feuilles. Pour les autres sommets, la valeur
 | ||||
|     // de (character) n'est pas garantie
 | ||||
|     char character; | ||||
| 
 | ||||
|     // Pointeurs vers les deux enfants de ce sommet. Ils valent tous
 | ||||
|     // deux NULL si le sommet est une feuille. À noter qu'un sommet
 | ||||
|     // a toujours 0 ou 2 enfants car un arbre de Huffman est binaire
 | ||||
|     HufVertex* child_l; | ||||
|     HufVertex* child_r; | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  * Représente un arbre de Huffman | ||||
|  */ | ||||
| typedef struct HufTree HufTree; | ||||
| struct HufTree { | ||||
|     // Pointeur sur la racine de l'arbre
 | ||||
|     HufVertex* root; | ||||
| 
 | ||||
|     // Quantité de sommets dans l'arbre
 | ||||
|     size_t size; | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  * Construire un arbre de Huffman basé sur les fréquences | ||||
|  * de caractères passées dans `frequencies` | ||||
|  * | ||||
|  * (résultat à libérer avec `freeTree`) | ||||
|  */ | ||||
| HufTree createTree(double* frequencies); | ||||
| 
 | ||||
| /**
 | ||||
|  * Libérer la mémoire occupée par un arbre de Huffman | ||||
|  * généré par la fonction `createTree` | ||||
|  */ | ||||
| void freeTree(HufTree tree); | ||||
| 
 | ||||
| /**
 | ||||
|  * Associer à chaque feuille de l'arbre une étiquette unique basée | ||||
|  * sur sa position dans l'arbre. Aucune étiquette n'est ainsi préfixe | ||||
|  * d'une autre. Le tableau renvoyé associe chaque caractère ASCII | ||||
|  * à son préfixe, ou à NULL s'il n'est pas présent dans l'arbre | ||||
|  * | ||||
|  * (résultat à libérer avec `freeTreeLabels`) | ||||
|  */ | ||||
| char** createTreeLabels(HufTree tree); | ||||
| 
 | ||||
| /**
 | ||||
|  * Libérer la mémoire occupée par un tableau d'étiquettes renvoyé | ||||
|  * par la fonction `labelTree` | ||||
|  */ | ||||
| void freeTreeLabels(char** labels); | ||||
| 
 | ||||
| #endif | ||||
		Loading…
	
		Reference in New Issue