Commit Graph

704 Commits

Author SHA1 Message Date
Andrew Kane
fecd4045af Ensure more functions do not panic 2022-07-31 13:57:20 -07:00
Outurnate
ada0be15bf Use smaller IPIO2 table for 16 and 32 bit architectures 2022-07-31 14:37:57 -04:00
Amanieu d'Antras
365558d749 Bump to 0.2.3 2022-07-30 01:43:36 +01:00
Andrew Kane
4d8d134d10 Remove panics from tgamma and tgammaf 2022-07-29 16:52:30 -07:00
Amanieu d'Antras
76f02fa2db Bump to 0.2.2 2022-02-06 09:52:15 +00:00
Peter Michael Green
8d91281fcc Apply formatting fixes from CI 2022-01-04 21:16:11 +00:00
Peter Michael Green
f8c8c8b2fe allow force_eval! to produce a result and use that result to more explicitly force rounding on x87. 2022-01-04 21:06:28 +00:00
Peter Michael Green
94b416e496 only allow x87-specific result in j1f.rs test on x87 2022-01-04 20:59:42 +00:00
Peter Michael Green
e3c3304557 round to storage format in some tests before comparison to prevent spurious errors on x87. 2022-01-04 20:30:43 +00:00
Peter Michael Green
e95ea2b11d Add forced rounding to storage format for x87 to rem_pio2.rs as well. 2022-01-04 20:30:43 +00:00
Peter Michael Green
874209b56c Use force_eval instead of to_bits/from_bits combination,
Using to_bits/from_bits to force conversion to storage format
apparently doesn't work in release mode. Also add an architecture
conditional to avoid pessimising other architectures.
2022-01-04 20:30:43 +00:00
Peter Michael Green
17c9073298 Fix testcases on x87 2022-01-04 20:30:43 +00:00
Peter Michael Green
d3fb52a7af force test_near_pi in rem_pio2.rs to be evaluated at runtime not compiletime. 2022-01-04 20:30:43 +00:00
Amanieu d'Antras
eb26f75f63 Disable musl tests on powerpc64 2022-01-04 00:09:07 +01:00
Amanieu d'Antras
4f5d1524fd Fix no-panic 2022-01-03 21:32:08 +01:00
Amanieu d'Antras
54a57001f8 Ignore some functions which don't match musl 2022-01-03 20:34:47 +01:00
Amanieu d'Antras
7a67cce088 Disable i686-unknown-linux-gnu tests for now 2022-01-03 19:06:54 +01:00
Amanieu d'Antras
e36ee3b4b7 Disable powerpc64 tests which were broken by the LLVM 13 upgrade 2022-01-03 19:00:31 +01:00
SuKiN-a
5428334eaa updated link to musl website 2021-07-09 09:52:08 +05:30
Brian Vincent
5f23bf3c9b Optimize round and roundf 2021-06-30 22:35:47 -05:00
Jethro Beekman
eedfb239a3 Fix substract with borrow in FMA
Fixes rust-lang/libm#242
2021-06-24 15:59:32 +02:00
Jethro Beekman
a9c912c42f Fix build failure with latest nightly 2021-06-24 15:59:32 +02:00
Philipp Schuster
9ba75196bd add "readme"-key to Cargo.toml in order for this crate to have a preview on crates.io 2021-03-28 12:24:08 +02:00
kellda
2b0d14c89e Update CHANGELOG.md (#245) 2020-06-08 09:11:11 -05:00
Alex Crichton
72b440075e Use macros for more division/array checks (#244)
* Use macros for more division/array checks

This commit moves over more array accesses to the `i!` macro to avoid
bounds checks when debug assertions are disabled. This is surfaced from
rust-lang/compiler-builtins#360 where recent changes in codegen units
has caused some bounds checks to not get elided in release mode. This
also adds a `div!` macro to work around rust-lang/rust#72751.

* Don't test/bench our shim crate

It's not intended to run all our tests
2020-05-29 14:16:51 -05:00
Alex Crichton
d6d215b97c Bump to 0.2.1 2019-11-22 11:16:36 -08:00
AJ Frantz
a8d9eb7521 Fix sincosf for interval (7*pi/4, 9*pi/4) (#233)
A mistake was made in porting musl's implementation which caused the sin
and cos components to be reversed.

closes rust-lang/libm#232
2019-11-22 13:16:00 -06:00
Christopher Serr
3b3f3e977c Fix sincosf(PI) (#229)
Looks like the implementation was not ported correctly. Some negations
were forgotten in a certain branch. Here is the original code in musl
that has the negations:

94cb2ec2a0/src/math/sincosf.c (L66-L67)

Resolves rust-lang/libm#228
2019-10-18 08:23:57 -05:00
Alex Crichton
52ecbdd9c0 Remove -nursery from urls 2019-09-25 11:20:49 -07:00
Alex Crichton
fda4a8992f Migrate from azure pipelines to Github actions (#226)
Should make user management easier and also helps follow the repository
when it's renamed.
2019-09-10 10:07:17 -05:00
Lokathor
0960b00b10 suppress useless clippy warnings 2019-09-05 08:57:15 -06:00
Lokathor
de3480c3c2 Update run.sh 2019-09-05 08:36:08 -06:00
Lokathor
06184b8d10 use sebug_assertions 2019-09-05 08:33:34 -06:00
Lokathor
c847d46c64 swap stable to be unstable, use debug_assertions 2019-09-05 08:33:23 -06:00
Lokathor
c6fbe72886 swap stable to be unstable 2019-09-05 08:33:03 -06:00
Lokathor
9811b57af2 swap stable to be unstable 2019-09-05 08:32:38 -06:00
Lokathor
de80131c26 swap stable to be unstable, checked is now debug_assertions 2019-09-05 08:32:26 -06:00
Lokathor
2e3ba17f9d there are no longer any default features 2019-09-05 08:32:05 -06:00
Lokathor
3dd4991eab rustfmt fixes 2019-08-13 23:45:50 -06:00
Lokathor
ff3dd206d1 slightly improve spec and sanity check coverage 2019-08-13 23:40:54 -06:00
Alex Crichton
c4a676d5cb Merge pull request rust-lang/libm#216 from Lokathor/sse-sqrt
Improve sqrt/sqrtf if stable intrinsics allow
2019-08-12 09:57:54 -05:00
Roman Proskuryakov
f004acd691 Fix broken link in README 2019-08-12 10:30:36 +02:00
Lokathor
0b8c514c8f update comments 2019-08-08 18:21:18 -06:00
Lokathor
e247c599cc update comments 2019-08-08 18:21:10 -06:00
Lokathor
887fca89c2 move use/const statements to a limited scope 2019-08-07 14:16:10 -06:00
Lokathor
47d6a214d4 apply rustfmt 2019-08-07 14:10:34 -06:00
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