| //! Generic implementations that are shared by multiple types. |
| //! |
| //! Implementation and usage notes: |
| //! |
| //! * Generic functions are marked `#[inline]` because, even though generic functions are |
| //! typically inlined, we seem to occasionally run into exceptions. |
| //! * Tests usually live wherever the functions are consumed (e.g. `src/ceil`) so they can be |
| //! reused to test arch-specific implementations. |
| |
| mod ceil; |
| mod copysign; |
| mod fabs; |
| mod fdim; |
| mod floor; |
| mod fma; |
| mod fma_wide; |
| mod fmax; |
| mod fmaximum; |
| mod fmaximum_num; |
| mod fmin; |
| mod fminimum; |
| mod fminimum_num; |
| mod fmod; |
| mod frexp; |
| mod ilogb; |
| mod rint; |
| mod round; |
| mod scalbn; |
| mod sqrt; |
| mod trunc; |
| |
| pub use ceil::ceil_status; |
| pub use copysign::copysign; |
| pub use fabs::fabs; |
| pub use fdim::fdim; |
| pub use floor::floor_status; |
| pub use fma::fma_round; |
| pub use fma_wide::fma_wide_round; |
| pub use fmax::fmax; |
| pub use fmaximum::fmaximum; |
| pub use fmaximum_num::fmaximum_num; |
| pub use fmin::fmin; |
| pub use fminimum::fminimum; |
| pub use fminimum_num::fminimum_num; |
| pub use fmod::fmod; |
| pub use frexp::frexp; |
| pub use ilogb::ilogb; |
| pub use rint::rint_status; |
| pub use round::round; |
| pub use scalbn::scalbn; |
| #[cfg(test)] |
| pub use sqrt::SqrtHelper; |
| pub use sqrt::sqrt_round; |
| pub use trunc::trunc_status; |