//! HiC contact matrices.
//!
//! Format references: `docs/hic_format_v8.md` and `docs/hic_format_v9.md`.
//!
//! Two file versions, v6–v9, and the obvious split — one decode path per
//! version — is not the split the format has. v9 adds three flag bytes
//! to the same block header and widens the fields those flags select, so the
//! *version* difference is read once and applied; what genuinely forks is the
//! `matrix_type` byte, sparse rows against a dense rectangle, and those two are
//! separate paths in `block.rs`. The one place v9 really is another format is
//! its rotated block numbering for an intra-chromosomal matrix, and that has a
//! branch of its own.
// `pub(crate)` on the parser modules rather than private: `crate::fuzz`
// runs every one of them over hostile bytes, and it is a sibling of these
// rather than a descendant. Nothing here is re-exported, so the public API
// is what `pub use` below says it is.
pub
pub
pub use ContactRecord;
pub use ;
pub use ;
// The COO type and the bilinear resize behind `exact_bin_count` are shared
// with the module-level `compress_sparse_by_color`, so they live in
// `crate::arrays` and are re-exported here, where a HiC caller looks.
pub use crateCooMatrix;
pub use ;