Jorge Aparicio
6454687134
omit bounds check in release mode
...
this eliminates panicking branches in the optimized version of the functions. We keep the bounds
checks when running the test suite to check that we never do an out of bounds access.
This commit also adds a "must link" test that ensures that future changes in our implementation
won't add panicking branches.
closes rust-lang/libm#129
2018-07-25 13:16:10 -05:00
Jorge Aparicio
7774eac962
README: all the math functions we needed are now supported
2018-07-21 12:01:49 -05:00
Jorge Aparicio
ddd9a3c5ba
v0.1.2
2018-07-18 11:48:47 -05:00
bors[bot]
e2569e64ad
Merge rust-lang/libm#127
...
127: update changelog; add more copyright notices r=japaric a=japaric
Co-authored-by: Jorge Aparicio <jorge@japaric.io >
2018-07-18 03:10:48 +00:00
Jorge Aparicio
a8cce5bda1
update changelog; add more copyright notices
2018-07-17 20:04:33 -05:00
Jorge Aparicio
9f920e739a
cargo fmt
2018-07-17 19:46:12 -05:00
Rahul Butani
1c555103ae
rustfmt'ed + some clean up
2018-07-17 15:08:22 -05:00
Rahul Butani
440e835967
Enable tests and expose
2018-07-17 15:08:22 -05:00
Rahul Butani
f12ba75f67
pow!
2018-07-17 15:08:22 -05:00
Joseph Ryan
203a8aea86
rustfmt
2018-07-16 21:22:35 -05:00
Joseph Ryan
4394b4f070
Merge branch 'master' of github.com:P1n3appl3/libm
2018-07-16 21:18:49 -05:00
Joseph Ryan
fe84c2050e
Add unit tests for atan2
2018-07-16 21:18:38 -05:00
Jorge Aparicio
29c1188f1f
cargo fmt
2018-07-16 20:03:30 -05:00
Jorge Aparicio
addfefd63f
fix another rebase error
2018-07-16 18:54:19 -05:00
Jorge Aparicio
579a0ad4fd
fix rebase error
2018-07-16 18:46:59 -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
Cássio Kirch
e8e1197629
words insertion on k_expo2
2018-07-15 21:36:22 -03:00
Cássio Kirch
1e61787694
unused cast removed
2018-07-15 21:35:08 -03:00
Jorge Aparicio
bbf1c5432a
enable tests for cosh
2018-07-15 18:13:09 -05:00
Cássio Kirch
06aba07681
implement cosh
2018-07-15 19:49:12 -03:00
Jorge Aparicio
57848a7309
inline more functions; add more methods to F{32,64}Ext
2018-07-15 16:00:09 -05:00
Jorge Aparicio
60db814b54
add more copyright notices
2018-07-15 14:50:00 -05:00
Jorge Aparicio
ee33990f46
update CHANGELOG; make utility functions private
2018-07-15 13:24: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
7084ce52b7
add dummy fenv implementation
2018-07-15 13:32:18 -04: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
75428a13cf
Fix x1p24 constant
2018-07-14 18:48:14 -04:00
C Jones
b2751897d2
Convert rem_pio2 code, split up modules
2018-07-14 18:48:14 -04:00
C Jones
440a1b7273
Implement part of sin/cos with quadrant selection unimplemented
2018-07-14 18:47:35 -04:00
Jorge Aparicio
802f6a2b46
v0.1.1
2018-07-14 16:58:24 -05: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
bors[bot]
e51fef4c66
Merge rust-lang/libm#105
...
105: acosf asinf atanf expm1f sinf tanf r=japaric a=japaric
rebased version of rust-lang/libm#97
closes rust-lang/libm#97
cc @burrbull
Co-authored-by: Andrey Zgarbul <zgarbul.andrey@gmail.com >
2018-07-14 21:19:37 +00:00
Andrey Zgarbul
ccde9e02e7
acosf asinf atanf expm1f sinf tanf
2018-07-14 16:18:30 -05:00
bors[bot]
1e3afc4f1b
Merge rust-lang/libm#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]
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
f03a65b372
rustfmt
2018-07-14 22:41:48 +02:00
Erik
a377d0d79b
allow some functions to be inlined
2018-07-14 16:24:10 -04:00
Lukas Wirth
a4602adbb5
fix bit shifting error
2018-07-14 22:22:00 +02:00