1#![no_std]
2#![deny(trivial_casts, trivial_numeric_casts, rust_2018_idioms)]
3
4#[cfg(feature = "std")]
5extern crate std;
6
7#[cfg(not(feature = "rustc-dep-of-std"))]
8extern crate alloc;
9
10#[cfg(feature = "std")]
11pub const VERBOSE: bool = false;
12
13macro_rules! vprintln {
14 ($($x:expr),*) => {
15 #[cfg(feature = "std")]
16 if crate::VERBOSE {
17 std::println!($($x),*);
18 }
19 }
20}
21
22pub mod blocks;
23pub mod decoding;
24pub mod frame;
25pub mod frame_decoder;
26pub mod fse;
27pub mod huff0;
28pub mod streaming_decoder;
29mod tests;
30
31#[cfg(feature = "std")]
32pub mod io;
33
34#[cfg(not(feature = "std"))]
35pub mod io_nostd;
36
37#[cfg(not(feature = "std"))]
38pub use io_nostd as io;
39
40pub use frame_decoder::BlockDecodingStrategy;
41pub use frame_decoder::FrameDecoder;
42pub use streaming_decoder::StreamingDecoder;