#![no_std]
#![cfg_attr(feature = "f16", feature(f16))]
#[cfg(feature = "std")]
extern crate alloc;
#[cfg(feature = "std")]
extern crate std;
mod error;
mod header;
mod iter;
mod mode;
mod reader;
mod writer;
#[cfg(feature = "mmap")]
mod mmap_reader;
mod engine;
pub use engine::block::{VolumeShape, VoxelBlock};
pub use engine::endian::FileEndian;
pub use engine::codec::EndianCodec;
pub use engine::convert::Convert;
pub use engine::pipeline::{ConversionPath, get_conversion_path, is_zero_copy};
#[cfg(feature = "simd")]
pub use engine::convert::{convert_i8_slice_to_f32, convert_i16_slice_to_f32, convert_u16_slice_to_f32, convert_u8_slice_to_f32, try_simd_convert};
#[cfg(feature = "f16")]
pub use engine::convert::{convert_f16_slice_to_f32, convert_f32_slice_to_f16};
pub use engine::block::SliceAccess;
pub use error::Error;
pub use header::{ExtHeader, ExtHeaderMut, Header};
pub use mode::{Float32Complex, Int16Complex, Mode, Packed4Bit, Voxel};
pub use reader::Reader;
pub use writer::{Writer, WriterBuilder};
pub use iter::{SliceIterConverted, SlabIterConverted};
#[cfg(feature = "mmap")]
pub use writer::MmapWriter;
#[cfg(feature = "mmap")]
pub use mmap_reader::MmapReader;
#[cfg(feature = "std")]
pub fn open(path: &str) -> Result<Reader, Error> {
Reader::open(path)
}
#[cfg(feature = "std")]
pub fn create(path: &str) -> WriterBuilder {
WriterBuilder::new(path)
}