Skip to main content

infotheory/api/
mod.rs

1//! Public, spec-first infotheory API surface.
2
3pub(crate) mod compression;
4pub(crate) mod context;
5pub(crate) mod generation;
6pub(crate) mod metrics;
7pub(crate) mod paths;
8pub(crate) mod types;
9
10pub use self::context::{
11    InfotheoryCtx, RateBackendBitSession, RateBackendBitSessionCheckpoint, RateBackendSession,
12    get_default_ctx, set_default_ctx,
13};
14pub use self::types::{
15    CalibratedSpec, CalibrationContextKind, CompressionBackend, GenerationConfig,
16    GenerationStrategy, GenerationUpdateMode, MAX_MIXTURE_NESTING, MixtureExpertSpec, MixtureKind,
17    MixtureScheduleMode, MixtureSpec, ParticleSpec, RateBackend, ZpaqMethodSpec,
18    parse_mixture_kind_name, parse_mixture_schedule_name, validate_compression_backend,
19    validate_rate_backend,
20};
21pub use crate::prediction::{
22    BinaryPrediction, BitOrder, BitStreamSemantics, BytePrefixMass, OnlineBitPredictor,
23    OnlineBytePredictor,
24};
25pub use crate::spec::{
26    AssetRef, CanonicalBytes, CanonicalJson, CompiledCompressionBackend, CompiledRateBackend,
27    CompressionBackendCapabilities, MethodBackendFamily, RateBackendCapabilities,
28    RateBackendTraceStrategy, SpecEnvironment, ValidatedCompressionBackend, ValidatedRateBackend,
29};
30
31pub use self::compression::{
32    NcdComputeOptions, NcdVariant, OperationParallelism, try_compress_bytes_backend,
33    try_compress_size_backend, try_compress_size_chain_backend, try_decompress_bytes_backend,
34    try_ncd_bytes_backend, try_ncd_bytes_backend_with_options, try_ncd_bytes_default,
35    try_ncd_matrix_bytes_backend, try_ncd_matrix_bytes_backend_with_options,
36    try_ncd_matrix_bytes_default,
37};
38pub use self::generation::{
39    try_generate_bytes, try_generate_bytes_conditional_chain,
40    try_generate_bytes_conditional_chain_with_config, try_generate_bytes_with_config,
41};
42pub use self::metrics::{
43    d_kl_bytes, empirical_cross_entropy_bytes, empirical_entropy_bytes,
44    empirical_joint_entropy_bytes, empirical_mutual_information_bytes, empirical_ned_bytes,
45    empirical_ned_cons_bytes, empirical_nte_bytes, empirical_resistance_to_transformation_bytes,
46    js_div_bytes, nhd_bytes, try_biased_entropy_rate_backend, try_biased_entropy_rate_bytes,
47    try_conditional_entropy_bytes, try_conditional_entropy_rate_bytes, try_cross_entropy_bytes,
48    try_cross_entropy_rate_backend, try_cross_entropy_rate_bytes, try_entropy_rate_backend,
49    try_entropy_rate_bytes, try_intrinsic_dependence_bytes, try_joint_entropy_rate_backend,
50    try_joint_entropy_rate_bytes, try_mutual_information_bytes,
51    try_mutual_information_rate_backend, try_mutual_information_rate_bytes, try_ned_bytes,
52    try_ned_cons_bytes, try_ned_cons_rate_bytes, try_ned_rate_backend, try_ned_rate_bytes,
53    try_nte_bytes, try_nte_rate_backend, try_nte_rate_bytes,
54    try_resistance_to_transformation_bytes, tvd_bytes,
55};
56pub use self::paths::{
57    CompressionPathBatchOptions, try_conditional_entropy_paths, try_cross_entropy_paths,
58    try_get_bytes_from_paths, try_get_compressed_size_path_backend,
59    try_get_compressed_sizes_from_paths_backend,
60    try_get_compressed_sizes_from_paths_backend_with_options, try_js_divergence_paths,
61    try_kl_divergence_paths, try_mutual_information_paths, try_ncd_matrix_paths_backend,
62    try_ncd_matrix_paths_backend_with_options, try_ncd_paths_backend,
63    try_ncd_paths_compiled_backend, try_ncd_paths_compiled_backend_with_options, try_ned_paths,
64    try_nhd_paths, try_nte_paths, try_tvd_paths,
65};