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-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;
|
|
|
|
|
|
|
|
|
|
pub use self::{
|
2018-07-13 21:51:07 -05:00
|
|
|
ceilf::ceilf, expf::expf, fabs::fabs, fabsf::fabsf, floor::floor, floorf::floorf, fmodf::fmodf,
|
2018-07-13 23:40:57 -04:00
|
|
|
hypot::hypot, hypotf::hypotf, log2::log2, log2f::log2f, logf::logf, powf::powf, round::round,
|
|
|
|
|
roundf::roundf, scalbn::scalbn, scalbnf::scalbnf, sqrt::sqrt, sqrtf::sqrtf, trunc::trunc,
|
|
|
|
|
truncf::truncf,
|
2018-07-13 21:02:11 +03:00
|
|
|
};
|
2018-07-12 19:16:50 -05:00
|
|
|
|
|
|
|
|
fn isnanf(x: f32) -> bool {
|
|
|
|
|
x.to_bits() & 0x7fffffff > 0x7f800000
|
|
|
|
|
}
|