-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathencodage.h
73 lines (56 loc) · 2.01 KB
/
encodage.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#ifndef __ENCODAGE_H_
#define __ENCODAGE_H_
#include "listeArbres.h"
/**
* \fn void encodage_analyseFichier(FILE *fp, int freq[256])
* \brief Remplit le tableau freq avec le nombre d'occurences de chaque caractère du fichier pointé par fp
*
* \param fp pointeur sur un fichier déjà ouvert avant d'appeler la fonction
* \param freq pointeur sur un tableau de 256 entiers initialisés à 0
**/
int encodage_analyseFichier(FILE *fp, int freq[256]);
/* Pour le codage lors de la lecture de l'arbre:
0 : fils gauche, 1 : fils droit */
/**
* \fn char** encodage_construitTabCorres(Arbre a, int nbFeuilles, char* construct, char** binaire, int* nbFeuillesTraitees);
* \brief
*
* \param a arbre de Huffman
* \param
* \param
* \param
* \param
**/
char** encodage_construitTabCorres(Arbre a, int nbFeuilles, char* construct, char** binaire, int* nbFeuillesTraitees);
/**
* \fn char** encodage_tabCorrespondance(Arbre a);
* \brief Retourne la table des correspondances ASCII / codage à partir de l'arbre de Huffman en paramètre.
*
* \param a arbres de Huffman
**/
char** encodage_tabCorrespondance(Arbre a);
/**
* \fn char* encodage_encode(char c, char** tabCorrespondance);
* \brief Retourne la séquence de bits du code de Huffman correspondant au caractère en paramètre
*
* \param caractère à coder
* \param tableau des correspondances ASCII / codage à utiliser
**/
char* encodage_encode(char**, char);
/**
* \fn char* encodage_decode(Arbre a, char c);
* \brief Renvoie le caractère correspondant à la séquence de bits du code appliquée à l'arbre a
*
* \param a arbre de Huffman à parcourir pour décoder
* \param code séquence de bits à décoder
**/
char encodage_decodeArbre(Arbre a, char* code);
/**
* \fn char encodage_decode(char**, char*);
* \brief Retourne le caractère correspondant à la séquence de bits en paramètre
*
* \param tableau des correspondances ASCII / codage à utiliser
* \param séquence de bits à décoder
**/
char encodage_decode(char**, char*);
#endif