Files
obikmer/DevDocMD/implementation/obilayeredmap.refs.md
T
2026-08-17 09:28:53 +02:00

1.5 KiB

Coverage: implementation/obilayeredmap.md

Code couvert

  • obilayeredmap/src/mphf_layer.rs — MphfLayer, LayerEvidence enum (Exact/Approx), find(), find_exact(), find_approx()
  • obilayeredmap/src/layer.rs — Layer, trait LayerData, modes () / PersistentCompactIntMatrix / PersistentBitMatrix, build(), build_evidence(), append_genome_column()
  • obilayeredmap/src/map.rs — LayeredMap, push_layer(), query()
  • obilayeredmap/src/evidence.rs — Evidence, EvidenceWriter, encodage chunk_id:rank
  • obilayeredmap/src/fingerprint.rs — FingerprintVec, FingerprintVecWriter, matches()
  • obilayeredmap/src/meta.rs — LayerMeta, EvidenceKind (Exact / Approx { b, z })

Notes

FORT RISQUE DE DÉRIVE. C'est le fichier le plus affecté par les changements récents :

  • EvidenceKind (Exact / Approx) est désormais un concept de premier plan — toute la sémantique de query en dépend
  • LayerEvidence enum interne à MphfLayer : dispatch transparent find() → find_exact() ou find_approx()
  • fingerprint.rs : module entièrement nouveau (FingerprintVec + FingerprintVecWriter)
  • build_evidence() / build_exact_evidence() / build_approx_evidence() sont nouveaux
  • block_bits dans les fonctions build : O(1) garanti avec le chemin chaud explicit pour block_bits=0
  • Séparation open() (accès aléatoire, requiert .idx) vs open_sequential() (itération seule) Pratiquement toute cette page est à réécrire.