#![cfg_attr(not(test), forbid(clippy::expect_used))]
#![cfg_attr(not(test), forbid(clippy::panic))]
#![cfg_attr(not(test), forbid(clippy::unwrap_used))]
#![deny(clippy::print_stdout)]
#![deny(
clippy::shadow_reuse,
clippy::shadow_same,
clippy::shadow_unrelated,
clippy::dbg_macro,
clippy::print_stderr,
clippy::unimplemented,
clippy::wildcard_enum_match_arm,
clippy::let_underscore_must_use,
clippy::arithmetic_side_effects,
clippy::impl_trait_in_params,
clippy::field_scoped_visibility_modifiers,
clippy::as_conversions,
clippy::lossy_float_literal,
clippy::default_numeric_fallback,
clippy::map_err_ignore,
clippy::missing_asserts_for_indexing,
clippy::undocumented_unsafe_blocks
)]
mod binary;
pub mod binary_utils;
mod concurrency;
mod ordered_pair;
mod computable;
mod error;
mod node;
mod ops;
mod refinement;
mod sane;
#[cfg(test)]
pub mod test_utils;
pub use binary::Bounds;
pub use binary::{Binary, BinaryError, FiniteBounds, UBinary, UXBinary, XBinary, XBinaryError};
pub use computable::{Computable, DEFAULT_INV_MAX_REFINES, DEFAULT_MAX_REFINEMENT_ITERATIONS};
pub use error::ComputableError;
pub use ops::{pi, pi_bounds_at_precision};
pub use ordered_pair::{Interval, IntervalError};
pub use refinement::XUsize;
pub use sane::{MAX_COMPUTATION_BITS, Sane};