Commit Graph

239 Commits

Author SHA1 Message Date
Amanieu d'Antras cacbf24785 Merge pull request #275 from moritz-meier/feature/add-generic-helper 2023-02-11 16:54:11 +01:00
James D. Turner 7e93ce9017 Fix descriptions of erfc and erfcf
As described in the second paragraph of the docs for these functions, they are
the complementary error function, not the error function.
2023-01-20 13:40:55 -05:00
Moritz Meier dea0e3f214 add generic libm helper
Add editorconfig + docs


refactor
2023-01-17 20:41:24 +01:00
Luc 415b0d0703 Fix formatting
Forgot to run cargo fmt last time...
2022-11-16 15:44:43 +01:00
Luc 2075461dba Remove negative numbers from test 2022-11-16 15:39:13 +01:00
Luc 9f7020bc9e Add Small Conformance tests to Sqrt(f) 2022-11-14 16:49:43 +01:00
Jules Bertholet 276b26e447 Disable tests on PowerPC 2022-11-07 13:19:05 -05:00
Jules Bertholet 7c02ee9f51 rint/rintf instead of roundeven/roundevenf 2022-11-07 12:54:02 -05:00
Jules Bertholet 302711300b Add roundeven and roundevenf 2022-11-07 12:37:44 -05:00
Andrew Tribick f0cc791caa Use wrapping_neg() to avoid fma errors on underflow 2022-09-30 14:11:15 +02:00
Amanieu d'Antras c3737d59fd Merge pull request #267 from Amanieu/fmaf 2022-08-10 02:17:52 +02:00
Amanieu d'Antras 6fea5fbe1a Fix fmaf not to depend on FE_TOWARDZERO
Ported from upstream musl commit 4f3d346bffdf9ed2b1803653643dc31242490944

Fixes #263
2022-08-10 01:11:33 +01:00
Amanieu d'Antras c108db9ea8 Merge pull request #265 from ankane/no_panic 2022-08-01 16:53:42 +02:00
Andrew Kane e4c6d24a71 Ensure more functions do not panic 2022-07-31 13:57:20 -07:00
Outurnate 1236519785 Use smaller IPIO2 table for 16 and 32 bit architectures 2022-07-31 14:37:57 -04:00
Andrew Kane 33ccb28a97 Remove panics from tgamma and tgammaf 2022-07-29 16:52:30 -07:00
Peter Michael Green 5e68d37130 Apply formatting fixes from CI 2022-01-04 21:16:11 +00:00
Peter Michael Green 9b6f469d5b 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 1606eeae5c only allow x87-specific result in j1f.rs test on x87 2022-01-04 20:59:42 +00:00
Peter Michael Green db80cfb906 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 fa70d9bda7 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 16ce35bb19 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 8b0db9f5ba Fix testcases on x87 2022-01-04 20:30:43 +00:00
Peter Michael Green 5672d67229 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 66925cff62 Disable musl tests on powerpc64 2022-01-04 00:09:07 +01:00
Amanieu d'Antras d1e9aa0f11 Disable powerpc64 tests which were broken by the LLVM 13 upgrade 2022-01-03 19:00:31 +01:00
Brian Vincent 842592e468 Optimize round and roundf 2021-06-30 22:35:47 -05:00
Jethro Beekman 8f10cf581f Fix substract with borrow in FMA
Fixes #242
2021-06-24 15:59:32 +02:00
Jethro Beekman c18c704856 Fix build failure with latest nightly 2021-06-24 15:59:32 +02:00
Alex Crichton fe396e00b7 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
AJ Frantz e149ec36ef 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 #232
2019-11-22 13:16:00 -06:00
Christopher Serr a5e39d8f1a 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:

https://github.com/bpowers/musl/blob/94cb2ec2a0ffcb47d24dbf7a30e462505396cf54/src/math/sincosf.c#L66-L67

Resolves #228
2019-10-18 08:23:57 -05:00
Lokathor 52983bee33 suppress useless clippy warnings 2019-09-05 08:57:15 -06:00
Lokathor 27705ead8a use sebug_assertions 2019-09-05 08:33:34 -06:00
Lokathor 7474c17c6a swap stable to be unstable, use debug_assertions 2019-09-05 08:33:23 -06:00
Lokathor 2a89eb02ca swap stable to be unstable 2019-09-05 08:33:03 -06:00
Lokathor cd32f2619a rustfmt fixes 2019-08-13 23:45:50 -06:00
Lokathor 2df659a64b slightly improve spec and sanity check coverage 2019-08-13 23:40:54 -06:00
Lokathor b0f666e1a2 update comments 2019-08-08 18:21:18 -06:00
Lokathor a3d55e685d update comments 2019-08-08 18:21:10 -06:00
Lokathor a9fa14dd6a move use/const statements to a limited scope 2019-08-07 14:16:10 -06:00
Lokathor 519c5d6cdd apply rustfmt 2019-08-07 14:10:34 -06:00
Lokathor b351893c5d Improve sqrt/sqrtf if stable intrinsics allow 2019-08-07 14:06:12 -06:00
Alex Crichton a3a35958de Merge pull request #209 from gnzlbg/fma
Fix overflow bugs in fma
2019-07-11 09:29:20 -05:00
gnzlbg a52ff87b71 Fix overflow bug in fma 2019-07-10 18:33:38 +02:00
Alex Crichton a0a5bd85c9 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 4420289c7c Add FMA tests that cause it to segfault 2019-07-10 16:57:13 +02:00
Alex Crichton 3a59e938c7 Merge pull request #205 from gnzlbg/fenv
Floating-point environment APIs are private
2019-07-09 10:47:50 -05:00
gnzlbg b5bc134383 Floating-point environment APIs are private 2019-07-09 17:33:01 +02:00
gnzlbg 4c49563a8a Add nextafter and nextafterf from musl 2019-07-09 17:17:08 +02:00