75 Commits

Author SHA1 Message Date
Rahul Butani
440e835967 Enable tests and expose 2018-07-17 15:08:22 -05:00
Jorge Aparicio
d6edc4b6ab Merge branch 'master' into master 2018-07-16 18:46:26 -05:00
Richard Dodd
e6f9e77006 Implement atan 2018-07-16 21:04:57 +01:00
Jorge Aparicio
99830bac40 test edge cases 2018-07-16 13:03:40 -05:00
bors[bot]
9252cdd3fa Merge rust-lang/libm#117
117: implement cosh r=japaric a=kirch7

`cosh(f64)` implemented. I had to implement `__expo2(f64)` also.

Co-authored-by: Cássio Kirch <cassio.kirch@inf.ufrgs.br>
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2018-07-16 00:51:17 +00:00
Jorge Aparicio
bbf1c5432a enable tests for cosh 2018-07-15 18:13:09 -05:00
bors[bot]
d04494b693 Merge rust-lang/libm#106
106: implement fmaf r=japaric a=erikdesjardins

closes rust-lang/libm#20

Co-authored-by: Erik <erikdesjardins@users.noreply.github.com>
2018-07-15 18:09:03 +00:00
Erik
865fedeac6 implement fmaf 2018-07-15 13:31:07 -04:00
C Jones
14c3113694 Implement tanh
Closes rust-lang/libm#37
2018-07-15 04:47:23 -04:00
Joseph Ryan
76b675c202 implement atan2 2018-07-15 01:17:46 -05:00
Andrey Zgarbul
f8e937fa46 sinf, fix constant in k_expo2f 2018-07-15 07:01:26 +03:00
Zgarbul Andrey
3b24b8ffc5 Merge branch 'master' into master 2018-07-15 06:19:57 +03:00
bors[bot]
c062ce3377 Merge rust-lang/libm#110
110: Implement tan r=japaric a=porglezomp

Also includes implementing the private `k_tan` function.

Closes rust-lang/libm#36

Co-authored-by: C Jones <code@calebjones.net>
2018-07-15 00:40:57 +00:00
C Jones
0be652de3a Implement tan
Also includes implementing the private k_tan function.

Closes rust-lang/libm#36
2018-07-14 19:40:23 -04:00
C Jones
dde8131c1e Implement sinh
This also adds expo2 for the __expo2 function, and combine_words() to replace
the INSERT_WORDS macro.

Closes rust-lang/libm#35
2018-07-14 19:37:30 -04:00
Zgarbul Andrey
6b7bd7fc3d Merge branch 'master' into master 2018-07-15 02:35:29 +03:00
Andrey Zgarbul
b61b0046c0 coshf tanhf and atan2f 2018-07-15 02:06:20 +03:00
C Jones
b2751897d2 Convert rem_pio2 code, split up modules 2018-07-14 18:48:14 -04:00
vjackson725
1d39d059e5 add an implemetation of asin
Fixes rust-lang/libm#7

Additonally adds inline functions for macros dealing with low and high words of f64s to the root module.

Also, the muslc code used a hexdecimal float. This shouldn't be needed because Rust implements
floating point parsing well.
2018-07-14 16:44:26 -05:00
Andrey Zgarbul
ccde9e02e7 acosf asinf atanf expm1f sinf tanf 2018-07-14 16:18:30 -05:00
bors[bot]
f6bbea901b Merge rust-lang/libm#100 rust-lang/libm#103
100: Implement expm1 r=japaric a=Veykril

~~Closes 13~~, closes rust-lang/libm#18 and ~~closes 14~~.

~~I wasn't sure where to put `__expo2(x: f64) -> f64` so I left it in `src/math/cosh.rs` for now.~~ Moved the function into it's own module.

Edit: Didn't see that `exp` was already done in a pull request, I'll take it out once rust-lang/libm#90 lands then.

103: implement fma r=japaric a=erikdesjardins

closes rust-lang/libm#19

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Erik <erikdesjardins@users.noreply.github.com>
2018-07-14 20:42:52 +00:00
Lukas Wirth
a4602adbb5 fix bit shifting error 2018-07-14 22:22:00 +02:00
Erik
65b49bb7a0 implement fma 2018-07-14 16:17:31 -04:00
bors[bot]
76a8bcba39 Merge rust-lang/libm#91
91: Implement exp2 and exp2f r=japaric a=porglezomp

Closes rust-lang/libm#15
Closes rust-lang/libm#16

Co-authored-by: C Jones <code@calebjones.net>
2018-07-14 19:33:54 +00:00
C Jones
62b9897c29 Implement exp2 2018-07-14 15:31:22 -04:00
C Jones
353409ada7 Add exp2f 2018-07-14 15:30:33 -04:00
Jorge Aparicio
7486cdb70e Merge branch 'master' into master 2018-07-14 14:02:33 -05:00
Lukas Wirth
b544bc360f fix missing changes 2018-07-14 20:59:41 +02:00
bors[bot]
18177f5599 Merge rust-lang/libm#84
84: Implement fmod r=japaric a=P1n3appl3

closes rust-lang/libm#21 
I replaced the `isnanf()` function from `fmodf()` with a call to the core function `is_nan()`. If there's a reason we needed to re-implement it then I can change that back.

Also I couldn't figure out what to do in `src/lib.rs`. Is the `#[cfg(todo]` that I should be removing the one for `mod_euc()`? If so why is the equivalent one for the `f64` version still there?

Co-authored-by: Joseph Ryan <josephryan3.14@gmail.com>
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2018-07-14 18:51:34 +00:00
Jorge Aparicio
b566794827 Merge branch 'master' into master 2018-07-14 13:50:57 -05:00
Jorge Aparicio
c3906586cb Merge branch 'master' into master 2018-07-14 13:48:22 -05:00
bors[bot]
380a8c0b0f Merge rust-lang/libm#101
101: implement cbrt and cbrtf r=japaric a=erikdesjardins

closes rust-lang/libm#10, closes rust-lang/libm#43

Co-authored-by: Erik <erikdesjardins@users.noreply.github.com>
2018-07-14 18:41:27 +00:00
Lukas Wirth
be219bee50 sync fork 2018-07-14 20:38:30 +02:00
Lukas Wirth
de0682bf64 remove exp 2018-07-14 20:36:28 +02:00
Erik
e228036053 implement cbrt and cbrtf 2018-07-14 14:07:14 -04:00
bors[bot]
932992a697 Merge rust-lang/libm#93
93: fdimf r=japaric a=jackmott

closes rust-lang/libm#47 

Co-authored-by: Jack Mott <jack.mott@gmail.com>
2018-07-14 18:03:06 +00:00
Erik
08dabf5dca implement exp 2018-07-14 13:37:27 -04:00
Lukas Wirth
85d7ebd422 sync fork 2018-07-14 18:56:20 +02:00
Jack Mott
743f0152b7 rebase 2018-07-14 11:45:39 -05:00
Lukas Wirth
3a15b30d16 Implement cosh, exp and expm1 2018-07-14 18:31:28 +02:00
Jorge Aparicio
ebb89e686d Merge branch 'master' into master 2018-07-14 11:30:47 -05:00
Jorge Aparicio
1eaffdc9a3 Merge branch 'master' into ceil 2018-07-14 11:18:56 -05:00
Lucas Marques
42e52da010 enable test generation for ceil 2018-07-14 12:17:48 -03:00
Jack Mott
643287e1f1 fdim 2018-07-14 06:20:13 -05:00
Jack Mott
480531461c fdimf 2018-07-14 05:35:07 -05:00
Zgarbul Andrey
3dfbfec6c1 Merge branch 'master' into master 2018-07-14 10:05:32 +03:00
Opal
137d99d55b Adding acos implementation 2018-07-14 19:00:47 +12:00
Zgarbul Andrey
9056c9c5e3 Merge branch 'master' into master 2018-07-14 09:38:50 +03:00
Erik
f73c61b762 implement log1p and log1pf 2018-07-14 02:13:12 -04:00
Opal
83673acaa4 Add log implementation.
Fixes rust-lang/libm#23
2018-07-14 17:25:20 +12:00