#![cfg_attr(not(feature = "std"), no_std)]
#[cfg(all(test, not(feature = "std")))]
#[macro_use]
extern crate std;
#[cfg(not(feature = "std"))]
pub use alloc::*;
#[cfg(not(feature = "std"))]
pub use core::*;
#[cfg(feature = "std")]
#[doc(hidden)]
pub use std::*;
#[cfg(not(feature = "std"))]
#[allow(unused_imports)]
#[doc(hidden)]
pub use alloc::{boxed::Box, vec::Vec};
#[cfg(feature = "std")]
#[allow(unused_imports)]
#[doc(hidden)]
pub use std::{boxed::Box, vec::Vec};
#[macro_use]
extern crate thiserror;
pub mod biginteger;
pub use biginteger::*;
pub mod bititerator;
pub use bititerator::*;
#[macro_use]
pub mod bits;
pub use bits::*;
#[macro_use]
pub mod bytes;
pub use bytes::*;
pub mod error;
pub use error::*;
pub mod iterator;
pub use iterator::*;
#[macro_use]
pub mod parallel;
pub use parallel::*;
pub mod rand;
pub use self::rand::*;
pub mod serialize;
pub use serialize::*;
#[cfg(not(feature = "std"))]
pub mod io;
#[cfg(not(feature = "std"))]
pub fn error(_msg: &'static str) -> io::Error {
io::Error
}
#[cfg(feature = "std")]
pub fn error<S: ToString>(msg: S) -> io::Error {
io::Error::new(io::ErrorKind::Other, msg.to_string())
}