bloom.h / bloom.c: implémentation du filtre (bitset et k-hachage)hash.h: définition du type de fonction de hachagehash_f.h / hash_f.c: les 12 fonctions de hachage disponiblesutils.h / utils.c: fonctions de lecture, stats et calcul premierTp3_main.c: programme principal
Avec le Makefile fourni :
make
Pour forcer une recompilation propre (recommande en cas d'erreur de lien) :
make re
Ou manuellement :
gcc -Wall -Wextra -O2 -o tp3 Tp3_main.c hash.c hash_f.c bloom.c utils.c -lm
./tp3 <fichier1> <fichier2>
Le programme calcule la taille idéale du filtre (fichier1, affiche le taux d'occupation des bits, puis identifie les mots communs avec fichier2.
./tp3 words1.txt words2.txt
Dans Tp3_main.c, ligne bloom_filter *bf = bloom_init(capacite, 3);
Vous pouvez modifier le deuxième argument (3) pour changer le nombre de fonctions de hachage utilisées (jusqu'à 12).
Les fonctions sont tirées du tableau hashf dans hash_f.c :
hash_1àhash_7a1_hash_function,a2_hash_functionBernstein_hachage,L_hachage_original,s_bon_hachage