Commit Graph

2049 Commits

Author SHA1 Message Date
Alex Crichton
fb35190998 Bump to 0.1.18 2019-07-19 07:44:17 -07:00
Alex Crichton
3c36beb31b Merge pull request #302 from bjorn3/no_128bit_lang_items
Replace {u,i}128_* lang items with __rust_{u,i}128_* unmangled functions
2019-07-19 09:44:00 -05:00
Alex Crichton
e80c858e20 Merge pull request #301 from RalfJung/dyn
avoid bare trait objects
2019-07-15 10:04:18 -05:00
Alex Crichton
7773dafe01 Bump to 0.1.17 2019-07-15 07:26:49 -07:00
bjorn3
4ca09454a8 Fix tests 2019-07-13 12:27:58 +02:00
bjorn3
8bd3e4d5a1 Replace {u,i}128_* lang items with __rust_{u,i}128_* unmangled functions
The -Zlower-128bit-ops feature is completely broken, as libcore needs
those lang items to compile with this feature, but they are only
provided by compiler_builtins, which itself depends on libcore.
According to rust-lang/rust#58969 the feature never got finished.

This commit removes the associated lang items and replaces them with
normal unmangled functions, when there is no existing intrinsic. This
makes it easier for alternative codegen backends to implement 128bit
integer support.
2019-07-13 11:38:35 +02:00
Ralf Jung
8ae096b544 avoid bare trait objects 2019-07-13 11:07:43 +02:00
Ralf Jung
29ea38c623 remove unused imports 2019-07-13 11:00:15 +02:00
Ralf Jung
f4bc012b26 avoid ptr::write which might panic in debug mode 2019-07-13 10:55:54 +02: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
319ae3ab42 Bump to 0.1.16 2019-06-06 01:09:47 +01:00
Alex Crichton
06dbf6ac2d Merge pull request #298 from varkor/update-libm
Update libm for fmin/fmax/fminf/fmaxf
2019-06-05 18:34:37 -05:00
Alex Crichton
22030968eb More fixes for CI 2019-06-05 16:19:26 -07:00
Alex Crichton
0d83008f7a Attempt to fix CI 2019-06-05 16:09:39 -07:00
varkor
3fe09ab411 Update libm for fmin/fmax/fminf/fmaxf 2019-06-05 23:41:18 +01: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