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
Alex Crichton
f43bc0d254
Merge pull request #196 from Schultzer/add-remainder
...
Add remainder
2019-07-04 06:45:20 +02:00
gnzlbg
3f815cee8b
Remove traits from README
2019-07-03 23:53:35 +02:00
gnzlbg
5ec03fb1bb
Remove F32Ext and F64Ext
2019-07-03 23:35:07 +02:00
Benjamin Schultzer
da9c12b2da
Only return the fp value.
...
Signed-off-by: Benjamin Schultzer <benjamin@schultzer.com >
2019-07-03 14:24:16 -07:00
Benjamin Schultzer
a0dd0550ad
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
311e4c8407
Add signum
...
Signed-off-by: Benjamin Schultzer <benjamin@schultzer.com >
2019-07-02 12:02:43 -07:00
Alex Crichton
885afa39c2
Merge pull request #191 from m1el/fuzz-rem-overflows
...
Fixed a few int overflows
2019-07-02 10:41:48 -05:00
Igor null
0f037e9a64
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
Benjamin Schultzer
c345238ed2
Add benchmark suite
...
Signed-off-by: Benjamin Schultzer <benjamin@schultzer.com >
2019-07-01 18:37:23 -07:00
gnzlbg
57b168cda5
Merge pull request #188 from m1el/negative-round
...
Fixed rounding to negative zero
2019-07-01 16:38:33 +02:00