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-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-14 16:59:27 +12:00
|
|
|
hypot::hypot, hypotf::hypotf, log::log, log10::log10, log10f::log10f, log2::log2, log2f::log2f,
|
2018-07-14 00:24:22 -04:00
|
|
|
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
|
|
|
|
|
}
|