70 lines
1.8 KiB
C
70 lines
1.8 KiB
C
/**
|
|
* @file
|
|
* @brief Gestion de l'affichage.
|
|
*/
|
|
|
|
#ifndef __HUFFMAN_DISPLAY_H_INCLUDED__
|
|
#define __HUFFMAN_DISPLAY_H_INCLUDED__
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include "common.h"
|
|
|
|
//! \{
|
|
typedef struct HufVertex HufVertex;
|
|
typedef HufVertex* HufTree;
|
|
//! \}
|
|
|
|
/**
|
|
* @brief Écrire un message de débogage sur la sortie d'erreurs.
|
|
*
|
|
* Cette fonction n'a aucun effet si l'affichage des messages de débogage
|
|
* ne sont pas activés, sinon le message est affiché dans @c stderr.
|
|
* @param format Format d'affichage à la printf.
|
|
* @param ... Variables pour l'affichage.
|
|
*/
|
|
void printVerbose(const char* format, ...);
|
|
|
|
/**
|
|
* @brief Activer ou désactiver l'affichage des messages de débogage.
|
|
*
|
|
* Si le paramètre est vrai, les appels suivants à @c printVerbose seront
|
|
* affichés sur la sortie d'erreurs. Sinon, ils n'auront aucun effet.
|
|
* @param enable Activer ou désactiver l'affichage.
|
|
*/
|
|
void setVerbose(int enable);
|
|
|
|
/**
|
|
* @brief Vérifie si les messages de débogage sont activés ou non.
|
|
*/
|
|
int isVerbose();
|
|
|
|
/**
|
|
* @brief Afficher sur la sortie d'erreurs une représentation de l'arbre
|
|
* passé en paramètre.
|
|
*
|
|
* @param tree L'arbre à afficher.
|
|
*/
|
|
void printTree(HufTree tree);
|
|
|
|
/**
|
|
* @brief Afficher sur la sortie d'erreurs le tableau associant les caractères
|
|
* à leur effectif d'apparition passé en argument.
|
|
*
|
|
* @param counts Tableau d'association des effectifs.
|
|
* @param total Nombre total de caractères.
|
|
* @param size Taille du tableau @p counts.
|
|
*/
|
|
void printCountsTable(bytecount* counts, bytecount total, size_t size);
|
|
|
|
/**
|
|
* *@brief Afficher sur la sortie d'erreurs le tableau associant les caractères
|
|
* à leur étiquette passé en argument.
|
|
*
|
|
* @param labels Tableau d'association des étiquettes.
|
|
* @param size Taille du tableau @p labels.
|
|
*/
|
|
void printLabelsTable(char** labels, size_t size);
|
|
|
|
#endif // __HUFFMAN_DISPLAY_H_INCLUDED__
|