2018-07-13 01:38:04 +00:00
|
|
|
macro_rules! force_eval {
|
|
|
|
|
($e:expr) => {
|
2018-07-13 20:46:09 -05:00
|
|
|
unsafe {
|
|
|
|
|
::core::ptr::read_volatile(&$e);
|
|
|
|
|
}
|
|
|
|
|
};
|
2018-07-13 01:38:04 +00:00
|
|
|
}
|
|
|
|
|
|
2018-07-13 21:32:59 -05:00
|
|
|
mod ceilf;
|
2018-07-13 21:51:07 -05:00
|
|
|
mod expf;
|
2018-07-12 19:16:50 -05:00
|
|
|
mod fabs;
|
|
|
|
|
mod fabsf;
|
2018-07-13 21:51:07 -05:00
|
|
|
mod floor;
|
2018-07-13 21:32:59 -05:00
|
|
|
mod floorf;
|
2018-07-12 19:16:50 -05:00
|
|
|
mod fmodf;
|
2018-07-13 21:51:07 -05:00
|
|
|
mod hypot;
|
|
|
|
|
mod hypotf;
|
2018-07-14 16:59:27 +12:00
|
|
|
mod log;
|
2018-07-14 00:24:22 -04:00
|
|
|
mod log10;
|
|
|
|
|
mod log10f;
|
2018-07-14 01:28:00 -04:00
|
|
|
mod log1p;
|
|
|
|
|
mod log1pf;
|
2018-07-13 23:40:57 -04:00
|
|
|
mod log2;
|
|
|
|
|
mod log2f;
|
2018-07-13 21:51:07 -05:00
|
|
|
mod logf;
|
2018-07-12 19:16:50 -05:00
|
|
|
mod powf;
|
2018-07-13 00:40:05 +00:00
|
|
|
mod round;
|
2018-07-13 20:46:09 -05:00
|
|
|
mod roundf;
|
2018-07-13 21:02:11 +03:00
|
|
|
mod scalbn;
|
2018-07-12 19:16:50 -05:00
|
|
|
mod scalbnf;
|
2018-07-13 18:31:01 -04:00
|
|
|
mod sqrt;
|
2018-07-12 19:16:50 -05:00
|
|
|
mod sqrtf;
|
2018-07-13 16:04:30 -04:00
|
|
|
mod trunc;
|
|
|
|
|
mod truncf;
|
2018-07-12 19:16:50 -05:00
|
|
|
|
2018-07-13 21:02:11 +03:00
|
|
|
//mod service;
|
|
|
|
|
|
2018-07-14 05:48:39 -04:00
|
|
|
// Use separated imports instead of {}-grouped imports for easier merging.
|
|
|
|
|
pub use self::ceilf::ceilf;
|
|
|
|
|
pub use self::expf::expf;
|
|
|
|
|
pub use self::fabs::fabs;
|
|
|
|
|
pub use self::fabsf::fabsf;
|
|
|
|
|
pub use self::floor::floor;
|
|
|
|
|
pub use self::floorf::floorf;
|
|
|
|
|
pub use self::fmodf::fmodf;
|
|
|
|
|
pub use self::hypot::hypot;
|
|
|
|
|
pub use self::hypotf::hypotf;
|
|
|
|
|
pub use self::log::log;
|
|
|
|
|
pub use self::log10::log10;
|
|
|
|
|
pub use self::log10f::log10f;
|
|
|
|
|
pub use self::log1p::log1p;
|
|
|
|
|
pub use self::log1pf::log1pf;
|
|
|
|
|
pub use self::log2::log2;
|
|
|
|
|
pub use self::log2f::log2f;
|
|
|
|
|
pub use self::logf::logf;
|
|
|
|
|
pub use self::powf::powf;
|
|
|
|
|
pub use self::round::round;
|
|
|
|
|
pub use self::roundf::roundf;
|
|
|
|
|
pub use self::scalbn::scalbn;
|
|
|
|
|
pub use self::scalbnf::scalbnf;
|
|
|
|
|
pub use self::sqrt::sqrt;
|
|
|
|
|
pub use self::sqrtf::sqrtf;
|
|
|
|
|
pub use self::trunc::trunc;
|
|
|
|
|
pub use self::truncf::truncf;
|
2018-07-12 19:16:50 -05:00
|
|
|
|
|
|
|
|
fn isnanf(x: f32) -> bool {
|
|
|
|
|
x.to_bits() & 0x7fffffff > 0x7f800000
|
|
|
|
|
}
|