/** * @file * @brief Gestion de l'affichage. */ #ifndef __HUFFMAN_DISPLAY_H_INCLUDED__ #define __HUFFMAN_DISPLAY_H_INCLUDED__ #include #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__