1#[macro_use]
2pub mod macros;
3mod big;
4mod env;
5// Runtime feature detection requires atomics.
6#[cfg(target_has_atomic = "ptr")]
7pub(crate) mod feature_detect;
8mod float_traits;
9pub mod hex_float;
10mod int_traits;
11
12#[allow(unused_imports)]
13pub use big::{i256, u256};
14#[allow(unused_imports)]
15pub(crate) use cfg_if;
16pub use env::{FpResult, Round, Status};
17#[allow(unused_imports)]
18pub use float_traits::{DFloat, Float, HFloat, IntTy};
19pub(crate) use float_traits::{f32_from_bits, f64_from_bits};
20#[cfg(any(test, feature = "unstable-public-internals"))]
21pub use hex_float::Hexf;
22#[cfg(f16_enabled)]
23#[allow(unused_imports)]
24pub use hex_float::hf16;
25#[cfg(f128_enabled)]
26#[allow(unused_imports)]
27pub use hex_float::hf128;
28#[allow(unused_imports)]
29pub use hex_float::{hf32, hf64};
30pub use int_traits::{CastFrom, CastInto, DInt, HInt, Int, MinInt};
31
32/// Hint to the compiler that the current path is cold.
33pub fn cold_path() {
34 #[cfg(intrinsics_enabled)]
35 core::intrinsics::cold_path();
36}
37