382 Commits

Author SHA1 Message Date
Joseph Ryan
bf94d54243 Merge branch 'master' of github.com:P1n3appl3/libm 2018-07-16 21:18:49 -05:00
Joseph Ryan
70b27a0f6f Add unit tests for atan2 2018-07-16 21:18:38 -05:00
bors[bot]
f585251755 Merge #112
112: [WIP]: implement atan2 r=japaric a=P1n3appl3

This depends on `atan()`. There was a pr for that but it seems to have been closed without adding it?

Co-authored-by: Joseph Ryan <josephryan3.14@gmail.com>
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2018-07-17 01:03:56 +00:00
Jorge Aparicio
99981facaf
cargo fmt 2018-07-16 20:03:30 -05:00
Jorge Aparicio
59cfaf5dd0
fix another rebase error 2018-07-16 18:54:19 -05:00
Jorge Aparicio
aa9c941f64
fix rebase error 2018-07-16 18:46:59 -05:00
Jorge Aparicio
9e1bc8e5ee
Merge branch 'master' into master 2018-07-16 18:46:26 -05:00
bors[bot]
8361310b21 Merge #121
121: Implement atan r=japaric a=derekdreery

New version of PR

Co-authored-by: Richard Dodd <richard.o.dodd@gmail.com>
2018-07-16 20:12:18 +00:00
Richard Dodd
d731dcbe53 Implement atan 2018-07-16 21:04:57 +01:00
bors[bot]
d30c103ea8 Merge #120
120: test edge cases r=japaric a=japaric

the test generator is not good at generating test cases that contain values like inf, zero and nan.
This commit adds test cases that contain those values.

Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2018-07-16 18:32:43 +00:00
Jorge Aparicio
bebe357e8f test edge cases 2018-07-16 13:03:40 -05:00
bors[bot]
3932e2ea8e Merge #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
Cássio Kirch
7175c5b64c words insertion on k_expo2 2018-07-15 21:36:22 -03:00
Cássio Kirch
41c5d03fa9 unused cast removed 2018-07-15 21:35:08 -03:00
Jorge Aparicio
ad0e05ab57
enable tests for cosh 2018-07-15 18:13:09 -05:00
Cássio Kirch
abcf9e72c2 implement cosh 2018-07-15 19:49:12 -03:00
bors[bot]
0e97df2a7f Merge #116
116: inline more functions; add more methods to F{32,64}Ext r=japaric a=japaric



Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2018-07-15 21:01:18 +00:00
Jorge Aparicio
745b3020c0 inline more functions; add more methods to F{32,64}Ext 2018-07-15 16:00:09 -05:00
bors[bot]
3c048e9859 Merge #115
115: add more copyright notices r=japaric a=japaric



Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2018-07-15 19:50:34 +00:00
Jorge Aparicio
54af49db47 add more copyright notices 2018-07-15 14:50:00 -05:00
bors[bot]
fd8e648998 Merge #113
113: update CHANGELOG; make utility functions private r=japaric a=japaric



Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2018-07-15 18:25:13 +00:00
Jorge Aparicio
7f2e0b5776 update CHANGELOG; make utility functions private 2018-07-15 13:24:09 -05:00
bors[bot]
e71de04c07 Merge #106
106: implement fmaf r=japaric a=erikdesjardins

closes #20

Co-authored-by: Erik <erikdesjardins@users.noreply.github.com>
2018-07-15 18:09:03 +00:00
bors[bot]
8da2707da1 Merge #111
111: Implement tanh r=japaric a=porglezomp

Closes #37

Co-authored-by: C Jones <code@calebjones.net>
2018-07-15 17:55:35 +00:00
Erik
1b5d43853a add dummy fenv implementation 2018-07-15 13:32:18 -04:00
Erik
806c723d56 implement fmaf 2018-07-15 13:31:07 -04:00
C Jones
935c393b4d Implement tanh
Closes #37
2018-07-15 04:47:23 -04:00
Joseph Ryan
a2e80d485a implement atan2 2018-07-15 01:17:46 -05:00
bors[bot]
be34a065cf Merge #108
108: coshf tanhf and atan2f r=japaric a=burrbull

closes #44
closes #52
closes #41

Co-authored-by: Andrey Zgarbul <zgarbul.andrey@gmail.com>
Co-authored-by: Zgarbul Andrey <zgarbul.andrey@gmail.com>
2018-07-15 04:07:06 +00:00
Andrey Zgarbul
1216667189 sinf, fix constant in k_expo2f 2018-07-15 07:01:26 +03:00
Zgarbul Andrey
413dad5bf1
Merge branch 'master' into master 2018-07-15 06:19:57 +03:00
bors[bot]
da0ae67b4a Merge #110
110: Implement tan r=japaric a=porglezomp

Also includes implementing the private `k_tan` function.

Closes #36

Co-authored-by: C Jones <code@calebjones.net>
2018-07-15 00:40:57 +00:00
bors[bot]
4415ca1249 Merge #109
109: Implement sinh r=japaric a=porglezomp

This also adds `expo2` for the `__expo2` function, and `combine_words` to replace
the `INSERT_WORDS` macro.

Closes #35

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

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

Closes #35
2018-07-14 19:37:30 -04:00
Zgarbul Andrey
b4ac457df7
Merge branch 'master' into master 2018-07-15 02:35:29 +03:00
bors[bot]
4c0992bd62 Merge #80
80: Add sin and cos r=japaric a=porglezomp

Closes #11 
Closes #33

Co-authored-by: C Jones <code@calebjones.net>
2018-07-14 23:08:33 +00:00
Andrey Zgarbul
1bd629d078 coshf tanhf and atan2f 2018-07-15 02:06:20 +03:00
C Jones
4fb6e339b5 Fix x1p24 constant 2018-07-14 18:48:14 -04:00
C Jones
97d9af7b0d Convert rem_pio2 code, split up modules 2018-07-14 18:48:14 -04:00
C Jones
7d2ed62446 Implement part of sin/cos with quadrant selection unimplemented 2018-07-14 18:47:35 -04:00
Jorge Aparicio
297df8b1ea v0.1.1 2018-07-14 16:58:24 -05:00
bors[bot]
6d7626c844 Merge #107
107: add an implemetation of asin r=japaric a=japaric

Fixes #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.

---

rebased version of #95
closes #95
Thanks @vjackson725 for the original PR!

Co-authored-by: vjackson725 <vjackson725@users.noreply.github.com>
2018-07-14 21:46:05 +00:00
vjackson725
600a238a64 add an implemetation of asin
Fixes #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
bors[bot]
446d07954e Merge #105
105: acosf asinf atanf expm1f sinf tanf r=japaric a=japaric

rebased version of #97
closes #97
cc @burrbull

Co-authored-by: Andrey Zgarbul <zgarbul.andrey@gmail.com>
2018-07-14 21:19:37 +00:00
Andrey Zgarbul
ea42447bd5 acosf asinf atanf expm1f sinf tanf 2018-07-14 16:18:30 -05:00
bors[bot]
61d958fb2d Merge #104
104: add more #[inline] r=japaric a=erikdesjardins

Some of these are pretty big so they may not get inlined in practice, but we might as well make them consistent with the rest.

Co-authored-by: Erik <erikdesjardins@users.noreply.github.com>
2018-07-14 20:57:09 +00:00
bors[bot]
4e7504a0f4 Merge #100 #103
100: Implement expm1 r=japaric a=Veykril

~~Closes 13~~, closes #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 #90 lands then.

103: implement fma r=japaric a=erikdesjardins

closes #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
a27975efdc rustfmt 2018-07-14 22:41:48 +02:00
Erik
f1172af46e allow some functions to be inlined 2018-07-14 16:24:10 -04:00