2018-07-13 01:38:04 +00:00
|
|
|
macro_rules! force_eval {
|
|
|
|
|
($e:expr) => {
|
|
|
|
|
unsafe { ::core::ptr::read_volatile(&$e); }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2018-07-12 19:16:50 -05:00
|
|
|
mod fabs;
|
|
|
|
|
mod fabsf;
|
|
|
|
|
mod fmodf;
|
|
|
|
|
mod powf;
|
2018-07-13 00:40:05 +00:00
|
|
|
mod round;
|
2018-07-13 21:02:11 +03:00
|
|
|
mod scalbn;
|
2018-07-12 19:16:50 -05:00
|
|
|
mod scalbnf;
|
|
|
|
|
mod sqrtf;
|
2018-07-13 11:10:41 +03:00
|
|
|
mod logf;
|
|
|
|
|
mod expf;
|
2018-07-13 21:02:11 +03:00
|
|
|
mod floor;
|
2018-07-13 23:23:14 +03:00
|
|
|
mod cosf;
|
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
|
|
|
pub use self::{
|
|
|
|
|
fabs::fabs,
|
|
|
|
|
fabsf::fabsf,
|
|
|
|
|
fmodf::fmodf,
|
|
|
|
|
powf::powf,
|
|
|
|
|
round::round,
|
|
|
|
|
scalbn::scalbn,
|
|
|
|
|
scalbnf::scalbnf,
|
|
|
|
|
sqrtf::sqrtf,
|
|
|
|
|
logf::logf,
|
|
|
|
|
expf::expf,
|
|
|
|
|
floor::floor,
|
2018-07-13 23:23:14 +03:00
|
|
|
cosf::cosf,
|
2018-07-13 16:04:30 -04:00
|
|
|
trunc::trunc,
|
|
|
|
|
truncf::truncf,
|
2018-07-13 21:02:11 +03:00
|
|
|
};
|
2018-07-12 19:16:50 -05:00
|
|
|
|
2018-07-13 23:58:41 +03:00
|
|
|
mod sindf;
|
|
|
|
|
mod cosdf;
|
|
|
|
|
mod rem_pio2f;
|
|
|
|
|
mod rem_pio2_large;
|
|
|
|
|
|
|
|
|
|
use self::{
|
|
|
|
|
sindf::sindf,
|
|
|
|
|
cosdf::cosdf,
|
|
|
|
|
rem_pio2f::rem_pio2f,
|
|
|
|
|
rem_pio2_large::rem_pio2_large,
|
|
|
|
|
};
|
|
|
|
|
|
2018-07-12 19:16:50 -05:00
|
|
|
fn isnanf(x: f32) -> bool {
|
|
|
|
|
x.to_bits() & 0x7fffffff > 0x7f800000
|
|
|
|
|
}
|