508 Commits

Author SHA1 Message Date
Lokathor
d19e47014a Improve sqrt/sqrtf if stable intrinsics allow 2019-08-07 14:06:12 -06:00
Alex Crichton
b05e339db2 Merge pull request rust-lang/libm#209 from gnzlbg/fma
Fix overflow bugs in fma
2019-07-11 09:29:20 -05:00
gnzlbg
c2b0bbb814 Fix overflow bug in fma 2019-07-10 18:33:38 +02:00
Alex Crichton
f783ff454b Remove most #[inline] annotations
These annotations fall into a few categories

* Some simply aren't needed since functions will always be in the same
  CGU anyway and are already candidates for inlining.
* Many are on massive functions which shouldn't be inlined across crates
  due to code size concerns.
* Others aren't necessary since calls to this crate are rarely inlined
  anyway (since it's lowered through LLVM).

If this crate is called directly and inlining is needed then LTO can
always be turned on, otherwise this will benefit downstream consumers by
avoiding re-codegen'ing so many functions.
2019-07-10 08:42:28 -07:00
gnzlbg
42e0c8c0a1 Add FMA tests that cause it to segfault 2019-07-10 16:57:13 +02:00
Alex Crichton
002b51d035 Merge pull request rust-lang/libm#205 from gnzlbg/fenv
Floating-point environment APIs are private
2019-07-09 10:47:50 -05:00
gnzlbg
e46b4a8299 Floating-point environment APIs are private 2019-07-09 17:33:01 +02:00
gnzlbg
2da2f8dce4 Add nextafter and nextafterf from musl 2019-07-09 17:17:08 +02:00
Alex Crichton
36b5b4c00c Merge pull request rust-lang/libm#196 from Schultzer/add-remainder
Add remainder
2019-07-04 06:45:20 +02:00
gnzlbg
e8ad478f6f Remove traits from README 2019-07-03 23:53:35 +02:00
gnzlbg
dc9fa00222 Bump minor version to 0.2.0 2019-07-03 23:35:24 +02:00
gnzlbg
0e871e58b4 Remove F32Ext and F64Ext 2019-07-03 23:35:07 +02:00
Benjamin Schultzer
05762eb876 Only return the fp value.
Signed-off-by: Benjamin Schultzer <benjamin@schultzer.com>
2019-07-03 14:24:16 -07:00
Benjamin Schultzer
1d159b5278 Add remainder
This PR adds the missing `remainder` and `remainderf` found in musl libm respectly https://git.musl-libc.org/cgit/musl/tree/src/math/remainder.c and https://git.musl-libc.org/cgit/musl/tree/src/math/remainderf.c

Signed-off-by: Benjamin Schultzer <benjamin@schultzer.com>
2019-07-03 12:01:21 -07:00
Benjamin Schultzer
4f5e28166f Add signum
Signed-off-by: Benjamin Schultzer <benjamin@schultzer.com>
2019-07-02 12:02:43 -07:00
Alex Crichton
99ef5a062a Merge pull request rust-lang/libm#191 from m1el/fuzz-rem-overflows
Fixed a few int overflows
2019-07-02 10:41:48 -05:00
Igor null
5e711e630e Fixed a few int overflows
rem_pio2 had incorrect u32/i32 operations
remquo has a straight int overflow
2019-07-02 16:48:59 +03:00
gnzlbg
eb08eb0d43 Run benchmarks on CI 2019-07-02 09:07:10 +02:00
gnzlbg
f6e48dd17d Re-export the stable libm feature 2019-07-02 08:33:11 +02:00
gnzlbg
cc1671fc57 Do not enable default features in benchmarks 2019-07-02 08:32:31 +02:00
gnzlbg
53c6687ef5 Move benchmarks into its own crate 2019-07-02 08:22:03 +02:00
Benjamin Schultzer
2cd88e96b1 Add benchmark suite
Signed-off-by: Benjamin Schultzer <benjamin@schultzer.com>
2019-07-01 18:37:23 -07:00
gnzlbg
a5be1028a7 Merge pull request rust-lang/libm#188 from m1el/negative-round
Fixed rounding to negative zero
2019-07-01 16:38:33 +02:00
gnzlbg
2705bb6066 Merge pull request rust-lang/libm#189 from m1el/j1f-f64-casts
Fix incorrect f32<->f64 casting in j1f/y1f
2019-07-01 16:38:09 +02:00
Igor null
b0c846bfd1 move tests to separate #[cfg(test)] mod 2019-07-01 17:23:52 +03:00
Igor null
2c05001264 separate tests into #[cfg(test)] mod 2019-07-01 17:21:43 +03:00
Igor null
217b9a34f8 fixed formatting in tests 2019-07-01 17:18:59 +03:00
Igor null
a1286b4f24 Fix incorrect f32<->f64 casting in j1f/y1f 2019-07-01 17:10:44 +03:00
Igor null
1011d29c55 Fixed rounding to negative zero 2019-07-01 17:05:46 +03:00
bjorn3
b31fdb1a70 Fix doc for floorf 2019-06-25 20:39:09 +02:00
Alex Crichton
f9b3247165 Update Rust install task 2019-06-13 09:21:50 -07:00
Diego Barrios Romero
e19b1f013d Bump version 2019-06-12 18:46:01 +02:00
Diego Barrios Romero
1319dfac2c Add changelog entry for v0.1.4 release 2019-06-12 18:45:42 +02:00
Diego Barrios Romero
9df2e2151c Add 0.1.3 changelog entry 2019-06-12 18:44:43 +02:00
Diego Barrios Romero
c955dbe5d0 Make module path compatible with Rust 1.31.0 2019-06-07 18:23:43 +02:00
varkor
727722531e Correct libm names 2019-06-05 21:13:25 +01:00
varkor
1613fbc412 Alphabetise 2019-06-05 20:59:28 +01:00
varkor
2db94e02d8 Add max 2019-06-05 20:59:28 +01:00
varkor
a3c8111c5f Add maxf 2019-06-05 20:59:28 +01:00
varkor
193e7960f9 Add min 2019-06-05 20:59:28 +01:00
varkor
f1c957e832 Add minf 2019-06-05 20:59:28 +01:00
Alex Crichton
13a350ca5d Attempt to fix CI 2019-06-05 12:17:01 -07:00
Igor null
5c48fccd6c fixed add overflow in exp2 2019-06-03 13:16:03 +03:00
Benjamin Schultzer
332d8fd21c Add docs 2019-05-16 23:06:43 -07:00
Benjamin Schultzer
c6b403f5a9 Run musl test in debug mode 2019-05-16 17:09:33 -07:00
Alex Crichton
7448d0fac3 Bump to 0.1.3 2019-05-14 09:06:43 -07:00
Igor null
03f6b3194e formatted rem_pio2 tests 2019-05-13 18:05:38 +03:00
Igor null
d583764530 added tests near pi for rem_pio2 2019-05-13 17:42:18 +03:00
Igor null
f8e5ff50c5 rem_pio2: actually return medium value for x ~<= 5pi/4 2019-05-13 12:14:03 +03:00
Andrey Zgarbul
0dff1621e0 fix jn, ilogb 2019-05-09 18:40:19 +03:00