diff options
Diffstat (limited to 'src/libstd/num/cmath.rs')
| -rw-r--r-- | src/libstd/num/cmath.rs | 191 |
1 files changed, 96 insertions, 95 deletions
diff --git a/src/libstd/num/cmath.rs b/src/libstd/num/cmath.rs index f7aa3267d6d..38923c5bda4 100644 --- a/src/libstd/num/cmath.rs +++ b/src/libstd/num/cmath.rs @@ -22,83 +22,84 @@ pub mod c_double_utils { extern { // Alpabetically sorted by link_name - pub unsafe fn acos(n: c_double) -> c_double; - pub unsafe fn asin(n: c_double) -> c_double; - pub unsafe fn atan(n: c_double) -> c_double; - pub unsafe fn atan2(a: c_double, b: c_double) -> c_double; - pub unsafe fn cbrt(n: c_double) -> c_double; - pub unsafe fn ceil(n: c_double) -> c_double; - pub unsafe fn copysign(x: c_double, y: c_double) -> c_double; - pub unsafe fn cos(n: c_double) -> c_double; - pub unsafe fn cosh(n: c_double) -> c_double; - pub unsafe fn erf(n: c_double) -> c_double; - pub unsafe fn erfc(n: c_double) -> c_double; - pub unsafe fn exp(n: c_double) -> c_double; + pub fn acos(n: c_double) -> c_double; + pub fn asin(n: c_double) -> c_double; + pub fn atan(n: c_double) -> c_double; + pub fn atan2(a: c_double, b: c_double) -> c_double; + pub fn cbrt(n: c_double) -> c_double; + pub fn ceil(n: c_double) -> c_double; + pub fn copysign(x: c_double, y: c_double) -> c_double; + pub fn cos(n: c_double) -> c_double; + pub fn cosh(n: c_double) -> c_double; + pub fn erf(n: c_double) -> c_double; + pub fn erfc(n: c_double) -> c_double; + pub fn exp(n: c_double) -> c_double; // rename: for consistency with underscore usage elsewhere - #[link_name="expm1"] unsafe fn exp_m1(n: c_double) -> c_double; - pub unsafe fn exp2(n: c_double) -> c_double; - #[link_name="fabs"] unsafe fn abs(n: c_double) -> c_double; + #[link_name="expm1"] + fn exp_m1(n: c_double) -> c_double; + pub fn exp2(n: c_double) -> c_double; + #[link_name="fabs"] + fn abs(n: c_double) -> c_double; // rename: for clarity and consistency with add/sub/mul/div #[link_name="fdim"] - pub unsafe fn abs_sub(a: c_double, b: c_double) -> c_double; - pub unsafe fn floor(n: c_double) -> c_double; + pub fn abs_sub(a: c_double, b: c_double) -> c_double; + pub fn floor(n: c_double) -> c_double; // rename: for clarity and consistency with add/sub/mul/div #[link_name="fma"] - pub unsafe fn mul_add(a: c_double, b: c_double, c: c_double) - -> c_double; + pub fn mul_add(a: c_double, b: c_double, c: c_double) -> c_double; #[link_name="fmax"] - pub unsafe fn fmax(a: c_double, b: c_double) -> c_double; + pub fn fmax(a: c_double, b: c_double) -> c_double; #[link_name="fmin"] - pub unsafe fn fmin(a: c_double, b: c_double) -> c_double; + pub fn fmin(a: c_double, b: c_double) -> c_double; #[link_name="nextafter"] - pub unsafe fn next_after(x: c_double, y: c_double) -> c_double; - pub unsafe fn frexp(n: c_double, value: &mut c_int) -> c_double; - pub unsafe fn hypot(x: c_double, y: c_double) -> c_double; - pub unsafe fn ldexp(x: c_double, n: c_int) -> c_double; + pub fn next_after(x: c_double, y: c_double) -> c_double; + pub fn frexp(n: c_double, value: &mut c_int) -> c_double; + pub fn hypot(x: c_double, y: c_double) -> c_double; + pub fn ldexp(x: c_double, n: c_int) -> c_double; #[cfg(unix)] #[link_name="lgamma_r"] - pub unsafe fn lgamma(n: c_double, sign: &mut c_int) -> c_double; + pub fn lgamma(n: c_double, sign: &mut c_int) -> c_double; #[cfg(windows)] #[link_name="__lgamma_r"] - pub unsafe fn lgamma(n: c_double, sign: &mut c_int) -> c_double; + pub fn lgamma(n: c_double, sign: &mut c_int) -> c_double; // renamed: ln seems more natural #[link_name="log"] - pub unsafe fn ln(n: c_double) -> c_double; + pub fn ln(n: c_double) -> c_double; // renamed: "logb" /often/ is confused for log2 by beginners #[link_name="logb"] - pub unsafe fn log_radix(n: c_double) -> c_double; + pub fn log_radix(n: c_double) -> c_double; // renamed: to be consitent with log as ln #[link_name="log1p"] - pub unsafe fn ln_1p(n: c_double) -> c_double; - pub unsafe fn log10(n: c_double) -> c_double; - pub unsafe fn log2(n: c_double) -> c_double; + pub fn ln_1p(n: c_double) -> c_double; + pub fn log10(n: c_double) -> c_double; + pub fn log2(n: c_double) -> c_double; #[link_name="ilogb"] - pub unsafe fn ilog_radix(n: c_double) -> c_int; - pub unsafe fn modf(n: c_double, iptr: &mut c_double) -> c_double; - pub unsafe fn pow(n: c_double, e: c_double) -> c_double; + pub fn ilog_radix(n: c_double) -> c_int; + pub fn modf(n: c_double, iptr: &mut c_double) -> c_double; + pub fn pow(n: c_double, e: c_double) -> c_double; // FIXME (#1379): enable when rounding modes become available - // unsafe fn rint(n: c_double) -> c_double; - pub unsafe fn round(n: c_double) -> c_double; + // fn rint(n: c_double) -> c_double; + pub fn round(n: c_double) -> c_double; // rename: for consistency with logradix #[link_name="scalbn"] - pub unsafe fn ldexp_radix(n: c_double, i: c_int) -> c_double; - pub unsafe fn sin(n: c_double) -> c_double; - pub unsafe fn sinh(n: c_double) -> c_double; - pub unsafe fn sqrt(n: c_double) -> c_double; - pub unsafe fn tan(n: c_double) -> c_double; - pub unsafe fn tanh(n: c_double) -> c_double; - pub unsafe fn tgamma(n: c_double) -> c_double; - pub unsafe fn trunc(n: c_double) -> c_double; + pub fn ldexp_radix(n: c_double, i: c_int) -> c_double; + pub fn sin(n: c_double) -> c_double; + pub fn sinh(n: c_double) -> c_double; + pub fn sqrt(n: c_double) -> c_double; + pub fn tan(n: c_double) -> c_double; + pub fn tanh(n: c_double) -> c_double; + pub fn tgamma(n: c_double) -> c_double; + pub fn trunc(n: c_double) -> c_double; // These are commonly only available for doubles - pub unsafe fn j0(n: c_double) -> c_double; - pub unsafe fn j1(n: c_double) -> c_double; - pub unsafe fn jn(i: c_int, n: c_double) -> c_double; + pub fn j0(n: c_double) -> c_double; + pub fn j1(n: c_double) -> c_double; + pub fn jn(i: c_int, n: c_double) -> c_double; - pub unsafe fn y0(n: c_double) -> c_double; - pub unsafe fn y1(n: c_double) -> c_double; - pub unsafe fn yn(i: c_int, n: c_double) -> c_double; + pub fn y0(n: c_double) -> c_double; + pub fn y1(n: c_double) -> c_double; + pub fn yn(i: c_int, n: c_double) -> c_double; } } @@ -111,98 +112,98 @@ pub mod c_float_utils { // Alpabetically sorted by link_name #[link_name="acosf"] - pub unsafe fn acos(n: c_float) -> c_float; + pub fn acos(n: c_float) -> c_float; #[link_name="asinf"] - pub unsafe fn asin(n: c_float) -> c_float; + pub fn asin(n: c_float) -> c_float; #[link_name="atanf"] - pub unsafe fn atan(n: c_float) -> c_float; + pub fn atan(n: c_float) -> c_float; #[link_name="atan2f"] - pub unsafe fn atan2(a: c_float, b: c_float) -> c_float; + pub fn atan2(a: c_float, b: c_float) -> c_float; #[link_name="cbrtf"] - pub unsafe fn cbrt(n: c_float) -> c_float; + pub fn cbrt(n: c_float) -> c_float; #[link_name="ceilf"] - pub unsafe fn ceil(n: c_float) -> c_float; + pub fn ceil(n: c_float) -> c_float; #[link_name="copysignf"] - pub unsafe fn copysign(x: c_float, y: c_float) -> c_float; + pub fn copysign(x: c_float, y: c_float) -> c_float; #[link_name="cosf"] - pub unsafe fn cos(n: c_float) -> c_float; + pub fn cos(n: c_float) -> c_float; #[link_name="coshf"] - pub unsafe fn cosh(n: c_float) -> c_float; + pub fn cosh(n: c_float) -> c_float; #[link_name="erff"] - pub unsafe fn erf(n: c_float) -> c_float; + pub fn erf(n: c_float) -> c_float; #[link_name="erfcf"] - pub unsafe fn erfc(n: c_float) -> c_float; + pub fn erfc(n: c_float) -> c_float; #[link_name="expf"] - pub unsafe fn exp(n: c_float) -> c_float; + pub fn exp(n: c_float) -> c_float; #[link_name="expm1f"] - pub unsafe fn exp_m1(n: c_float) -> c_float; + pub fn exp_m1(n: c_float) -> c_float; #[link_name="exp2f"] - pub unsafe fn exp2(n: c_float) -> c_float; + pub fn exp2(n: c_float) -> c_float; #[link_name="fabsf"] - pub unsafe fn abs(n: c_float) -> c_float; + pub fn abs(n: c_float) -> c_float; #[link_name="fdimf"] - pub unsafe fn abs_sub(a: c_float, b: c_float) -> c_float; + pub fn abs_sub(a: c_float, b: c_float) -> c_float; #[link_name="floorf"] - pub unsafe fn floor(n: c_float) -> c_float; + pub fn floor(n: c_float) -> c_float; #[link_name="frexpf"] - pub unsafe fn frexp(n: c_float, value: &mut c_int) -> c_float; + pub fn frexp(n: c_float, value: &mut c_int) -> c_float; #[link_name="fmaf"] - pub unsafe fn mul_add(a: c_float, b: c_float, c: c_float) -> c_float; + pub fn mul_add(a: c_float, b: c_float, c: c_float) -> c_float; #[link_name="fmaxf"] - pub unsafe fn fmax(a: c_float, b: c_float) -> c_float; + pub fn fmax(a: c_float, b: c_float) -> c_float; #[link_name="fminf"] - pub unsafe fn fmin(a: c_float, b: c_float) -> c_float; + pub fn fmin(a: c_float, b: c_float) -> c_float; #[link_name="nextafterf"] - pub unsafe fn next_after(x: c_float, y: c_float) -> c_float; + pub fn next_after(x: c_float, y: c_float) -> c_float; #[link_name="hypotf"] - pub unsafe fn hypot(x: c_float, y: c_float) -> c_float; + pub fn hypot(x: c_float, y: c_float) -> c_float; #[link_name="ldexpf"] - pub unsafe fn ldexp(x: c_float, n: c_int) -> c_float; + pub fn ldexp(x: c_float, n: c_int) -> c_float; #[cfg(unix)] #[link_name="lgammaf_r"] - pub unsafe fn lgamma(n: c_float, sign: &mut c_int) -> c_float; + pub fn lgamma(n: c_float, sign: &mut c_int) -> c_float; #[cfg(windows)] #[link_name="__lgammaf_r"] - pub unsafe fn lgamma(n: c_float, sign: &mut c_int) -> c_float; + pub fn lgamma(n: c_float, sign: &mut c_int) -> c_float; #[link_name="logf"] - pub unsafe fn ln(n: c_float) -> c_float; + pub fn ln(n: c_float) -> c_float; #[link_name="logbf"] - pub unsafe fn log_radix(n: c_float) -> c_float; + pub fn log_radix(n: c_float) -> c_float; #[link_name="log1pf"] - pub unsafe fn ln_1p(n: c_float) -> c_float; + pub fn ln_1p(n: c_float) -> c_float; #[link_name="log2f"] - pub unsafe fn log2(n: c_float) -> c_float; + pub fn log2(n: c_float) -> c_float; #[link_name="log10f"] - pub unsafe fn log10(n: c_float) -> c_float; + pub fn log10(n: c_float) -> c_float; #[link_name="ilogbf"] - pub unsafe fn ilog_radix(n: c_float) -> c_int; + pub fn ilog_radix(n: c_float) -> c_int; #[link_name="modff"] - pub unsafe fn modf(n: c_float, iptr: &mut c_float) -> c_float; + pub fn modf(n: c_float, iptr: &mut c_float) -> c_float; #[link_name="powf"] - pub unsafe fn pow(n: c_float, e: c_float) -> c_float; + pub fn pow(n: c_float, e: c_float) -> c_float; // FIXME (#1379): enable when rounding modes become available - // #[link_name="rintf"] unsafe fn rint(n: c_float) -> c_float; + // #[link_name="rintf"] fn rint(n: c_float) -> c_float; #[link_name="roundf"] - pub unsafe fn round(n: c_float) -> c_float; + pub fn round(n: c_float) -> c_float; #[link_name="scalbnf"] - pub unsafe fn ldexp_radix(n: c_float, i: c_int) -> c_float; + pub fn ldexp_radix(n: c_float, i: c_int) -> c_float; #[link_name="sinf"] - pub unsafe fn sin(n: c_float) -> c_float; + pub fn sin(n: c_float) -> c_float; #[link_name="sinhf"] - pub unsafe fn sinh(n: c_float) -> c_float; + pub fn sinh(n: c_float) -> c_float; #[link_name="sqrtf"] - pub unsafe fn sqrt(n: c_float) -> c_float; + pub fn sqrt(n: c_float) -> c_float; #[link_name="tanf"] - pub unsafe fn tan(n: c_float) -> c_float; + pub fn tan(n: c_float) -> c_float; #[link_name="tanhf"] - pub unsafe fn tanh(n: c_float) -> c_float; + pub fn tanh(n: c_float) -> c_float; #[link_name="tgammaf"] - pub unsafe fn tgamma(n: c_float) -> c_float; + pub fn tgamma(n: c_float) -> c_float; #[link_name="truncf"] - pub unsafe fn trunc(n: c_float) -> c_float; + pub fn trunc(n: c_float) -> c_float; } } |
