Skip to content

Commit 4b4512f

Browse files
committed
---
yaml --- r: 6975 b: refs/heads/master c: c314a9c h: refs/heads/master i: 6973: 8a7b329 6971: 797c866 6967: 46671ab 6959: 8dafae0 6943: 459982d 6911: 3446f80 v: v3
1 parent ae63101 commit 4b4512f

File tree

4 files changed

+48
-2
lines changed

4 files changed

+48
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: d124c6eda29c4ba2f2a88b5e336e03ddbc12a2aa
2+
refs/heads/master: c314a9cad157f3a9821ea08f4f88e791dfff06d8

trunk/src/libcore/cmath.rs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,44 @@ native mod f64 {
1010
pure fn asin(n: f64) -> f64;
1111
pure fn atan(n: f64) -> f64;
1212
pure fn atan2(a: f64, b: f64) -> f64;
13+
pure fn cbrt(n: f64) -> f64;
1314
pure fn ceil(n: f64) -> f64;
1415
pure fn cos(n: f64) -> f64;
1516
pure fn cosh(n: f64) -> f64;
17+
pure fn erf(n: f64) -> f64;
18+
pure fn erfc(n: f64) -> f64;
1619
pure fn exp(n: f64) -> f64;
20+
pure fn expm1(n: f64) -> f64;
21+
pure fn exp2(n: f64) -> f64;
1722
#[link_name="fabs"] pure fn abs(n: f64) -> f64;
23+
#[link_name="fdim"] pure fn sub_pos(a: f64, b: f64) -> f64;
1824
pure fn floor(n: f64) -> f64;
25+
#[link_name="fma"] pure fn mul_add(a: f64, b: f64, c: f64) -> f64;
26+
#[link_name="fmax"] pure fn max(a: f64, b: f64) -> f64;
27+
#[link_name="fmin"] pure fn min(a: f64, b: f64) -> f64;
28+
pure fn nextafter(x: f64, y: f64) -> f64
1929
pure fn fmod(x: f64, y: f64) -> f64;
2030
pure fn frexp(n: f64, &value: c_int) -> f64;
31+
pure fn hypot(x: f64, y: f64) -> f64;
2132
pure fn ldexp(x: f64, n: c_int) -> f64;
33+
#[link_name="lgamma_r"] pure fn lgamma(n: f64, sign: *c_int) -> f64;
2234
#[link_name="log"] pure fn ln(n: f64) -> f64;
35+
pure fn logb(n: f64) -> f64;
2336
#[link_name="log1p"] pure fn ln1p(n: f64) -> f64;
2437
pure fn log10(n: f64) -> f64;
2538
pure fn log2(n: f64) -> f64;
39+
pure fn ilogb(n: f64) -> c_int;
2640
pure fn modf(n: f64, iptr: *f64) -> f64;
2741
pure fn pow(n: f64, e: f64) -> f64;
42+
#[link_name="remainder"] pure fn rem(a: f64, b: f64) -> f64;
2843
pure fn rint(n: f64) -> f64;
2944
pure fn round(n: f64) -> f64;
3045
pure fn sin(n: f64) -> f64;
3146
pure fn sinh(n: f64) -> f64;
3247
pure fn sqrt(n: f64) -> f64;
3348
pure fn tan(n: f64) -> f64;
3449
pure fn tanh(n: f64) -> f64;
50+
pure fn tgamma(n: f64) -> f64;
3551
pure fn trunc(n: f64) -> f64;
3652
}
3753

@@ -45,31 +61,59 @@ native mod f32 {
4561
#[link_name="asinf"] pure fn asin(n: f32) -> f32;
4662
#[link_name="atanf"] pure fn atan(n: f32) -> f32;
4763
#[link_name="atan2f"] pure fn atan2(a: f32, b: f32) -> f32;
64+
#[link_name="cbrtf"] pure fn cbrt(n: f32) -> f32;
4865
#[link_name="ceilf"] pure fn ceil(n: f32) -> f32;
4966
#[link_name="cosf"] pure fn cos(n: f32) -> f32;
5067
#[link_name="coshf"] pure fn cosh(n: f32) -> f32;
68+
#[link_name="erff"] pure fn erf(n: f32) -> f32;
69+
#[link_name="erfcf"] pure fn erfc(n: f32) -> f32;
5170
#[link_name="expf"] pure fn exp(n: f32) -> f32;
71+
#[link_name="expm1f"]pure fn expm1(n: f32) -> f32;
72+
#[link_name="exp2f"] pure fn exp2(n: f32) -> f32;
5273
#[link_name="fabsf"] pure fn abs(n: f32) -> f32;
74+
#[link_name="fdimf"] pure fn sub_pos(a: f32, b: f32) -> f32;
5375
#[link_name="floorf"] pure fn floor(n: f32) -> f32;
5476
#[link_name="frexpf"] pure fn frexp(n: f64, &value: c_int) -> f32;
77+
#[link_name="fmaf"] pure fn mul_add(a: f32, b: f32, c: f32) -> f32;
78+
#[link_name="fmaxf"] pure fn max(a: f32, b: f32) -> f32;
79+
#[link_name="fminf"] pure fn min(a: f32, b: f32) -> f32;
80+
#[link_name="nextafterf"] pure fn nextafter(x: f32, y: f32) -> f32
5581
#[link_name="fmodf"] pure fn fmod(x: f32, y: f32) -> f32;
82+
#[link_name="hypotf"] pure fn hypot(x: f32, y: f32) -> f32;
5683
#[link_name="ldexpf"] pure fn ldexp(x: f32, n: c_int) -> f32;
84+
#[link_name="lgammaf_r"] pure fn lgamma(n: f32, sign: *c_int) -> f32;
5785
#[link_name="logf"] pure fn ln(n: f32) -> f32;
86+
#[link_name="logbf"] pure fn logb(n: f32) -> f32;
5887
#[link_name="log1p"] pure fn ln1p(n: f64) -> f64;
5988
#[link_name="log2f"] pure fn log2(n: f32) -> f32;
6089
#[link_name="log10f"] pure fn log10(n: f32) -> f32;
90+
#[link_name="ilogbf"] pure fn ilogb(n: f32) -> c_int;
6191
#[link_name="modff"] pure fn modf(n: f32, iptr: *f32) -> f32;
6292
#[link_name="powf"] pure fn pow(n: f32, e: f32) -> f32;
93+
#[link_name="remainderf"] pure fn rem(a: f32, b: f32) -> f32;
6394
#[link_name="rintf"] pure fn rint(n: f32) -> f32;
6495
#[link_name="roundf"] pure fn round(n: f32) -> f32;
6596
#[link_name="sinf"] pure fn sin(n: f32) -> f32;
6697
#[link_name="sinhf"] pure fn sinh(n: f32) -> f32;
6798
#[link_name="sqrtf"] pure fn sqrt(n: f32) -> f32;
6899
#[link_name="tanf"] pure fn tan(n: f32) -> f32;
69100
#[link_name="tanhf"] pure fn tanh(n: f32) -> f32;
101+
#[link_name="tgammaf"] pure fn tgamma(n: f32) -> f32;
70102
#[link_name="truncf"] pure fn trunc(n: f32) -> f32;
71103
}
72104

105+
#[link_name = "m"]
106+
#[abi = "cdecl"]
107+
native mod bessel {
108+
pure fn j0(n: m_float) -> m_float;
109+
pure fn j1(n: m_float) -> m_float;
110+
pure fn jn(i: c_int, n: m_float) -> m_float;
111+
112+
pure fn y0(n: m_float) -> m_float;
113+
pure fn y1(n: m_float) -> m_float;
114+
pure fn yn(i: c_int, n: m_float) -> m_float;
115+
}
116+
73117
//
74118
// Local Variables:
75119
// mode: rust

trunk/src/libcore/ctypes.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,3 +114,5 @@ Type: enum
114114
An unsigned integer with the same size as a C enum
115115
*/
116116
type enum = u32;
117+
118+

trunk/src/libcore/mtypes.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ type m_uint = u32;
3232
#[cfg(target_arch="x86_64")]
3333
type m_uint = u64;
3434

35-
// PORT *must* match with "import m_float = fXX" in std::math per arch
35+
// PORT *must* match with "import m_float = fXX" in core::float per arch
3636

3737
/*
3838
Type: m_float

0 commit comments

Comments
 (0)