1#![doc = include_str!("../Readme.md")]
14#![no_std]
15#![deny(trivial_casts, trivial_numeric_casts, rust_2018_idioms)]
16
17#[cfg(feature = "std")]
18extern crate std;
19
20#[cfg(not(feature = "rustc-dep-of-std"))]
21extern crate alloc;
22
23#[cfg(feature = "std")]
24pub(crate) const VERBOSE: bool = false;
25
26macro_rules! vprintln {
27 ($($x:expr),*) => {
28 #[cfg(feature = "std")]
29 if crate::VERBOSE {
30 std::println!($($x),*);
31 }
32 }
33}
34
35mod bit_io;
36mod common;
37pub mod decoding;
38pub mod encoding;
39
40pub(crate) mod blocks;
41
42#[cfg(feature = "fuzz_exports")]
43pub mod fse;
44#[cfg(feature = "fuzz_exports")]
45pub mod huff0;
46
47#[cfg(not(feature = "fuzz_exports"))]
48pub(crate) mod fse;
49#[cfg(not(feature = "fuzz_exports"))]
50pub(crate) mod huff0;
51
52mod tests;
53
54#[cfg(feature = "std")]
55pub mod io_std;
56
57#[cfg(feature = "std")]
58pub use io_std as io;
59
60#[cfg(not(feature = "std"))]
61pub mod io_nostd;
62
63#[cfg(not(feature = "std"))]
64pub use io_nostd as io;