diff --git a/tp_2_miso_mphf.py b/tp_2_miso_mphf.py index 18df0ab9a04d1e6bb1c80f1a97da69845785b5b8..5adbaf4a51793c5aa9119057fdff9f9e42a6e3af 100644 --- a/tp_2_miso_mphf.py +++ b/tp_2_miso_mphf.py @@ -62,17 +62,17 @@ def construction_mphf(set_kmer, n, gamma=2, nb_niveaux=3): max_rang = 0 for kmer in set_kmer: - h = hash(kmer) + h = abs(hash(kmer)) if h in grand_tableau: index = grand_tableau.index(h) rang = index - grand_tableau[:index + 1].count(-1) - mphf.append((h, rang)) + mphf.append([h, rang]) max_rang = max(max_rang, rang) for kmer in set_kmer_courant: #gestion des collisions: expliquer les 3 lignes du dessous - max_rang += 1 - h = abs(hash(kmer)) - mphf.append([h, max_rang]) + max_rang += 1 # augmentation du rang maximal pour l'attribuer à l'une des dernières collisions + h = abs(hash(kmer)) # hachage de l'un des kmers restants dans les dernières collisions + mphf.append([h, max_rang]) # ajout de l'un des kmers restants dans la fonction de hachage avec son rang associé return mphf