340 Commits

Author SHA1 Message Date
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
Alex Crichton
3d729b7a85 Bump to 0.2.1 2019-11-22 11:16:36 -08: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:

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

Resolves #228
2019-10-18 08:23:57 -05:00
Alex Crichton
8532fb1c75 Remove -nursery from urls 2019-09-25 11:20:49 -07:00
Alex Crichton
47ffaa8017
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
Alex Crichton
8eedc24705
Merge pull request #224 from Lokathor/new-CI
Refresh the CI setup
2019-09-09 10:59:45 -05:00
Lokathor
52983bee33 suppress useless clippy warnings 2019-09-05 08:57:15 -06:00
Lokathor
44d1d23593 Update run.sh 2019-09-05 08:36:08 -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
e50df4d7ee swap stable to be unstable 2019-09-05 08:32:38 -06:00
Lokathor
5e0eca75fb swap stable to be unstable, checked is now debug_assertions 2019-09-05 08:32:26 -06:00
Lokathor
dc6aab0ef0 there are no longer any default features 2019-09-05 08:32:05 -06:00
Lokathor
c57eda462a
Merge pull request #1 from rust-lang-nursery/master
pull from master
2019-08-23 21:54:20 -06:00
Alex Crichton
12481f0c74
Merge pull request #221 from Lokathor/tests
slightly improve spec and sanity check coverage
2019-08-14 09:03:41 -05: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
Alex Crichton
32a6a99dae
Merge pull request #216 from Lokathor/sse-sqrt
Improve sqrt/sqrtf if stable intrinsics allow
2019-08-12 09:57:54 -05:00
Roman Proskuryakov
2cc2589c80 Fix broken link in README 2019-08-12 10:30:36 +02: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
Alex Crichton
8a0a1105ff
Merge pull request #210 from alexcrichton/less-inline
Remove most `#[inline]` annotations
2019-07-11 09:28:39 -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
Alex Crichton
0bbf1bf751
Merge pull request #203 from gnzlbg/nextafter
Add nextafter and nextafterf from musl
2019-07-09 10:47:09 -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
Alex Crichton
c83f16aaf1
Merge pull request #197 from gnzlbg/remove_fext
Remove F32Ext and F64Ext
2019-07-04 06:44:54 +02:00
gnzlbg
3f815cee8b Remove traits from README 2019-07-03 23:53:35 +02:00
gnzlbg
b3f86d7737 Bump minor version to 0.2.0 2019-07-03 23:35:24 +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
gnzlbg
b03bda35fe
Merge pull request #193 from Schultzer/add-signum
Add signum
2019-07-02 22:39:27 +02: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
Alex Crichton
d2a09b534b
Merge pull request #190 from gnzlbg/libm_bench
Move benchmarks into its own crate
2019-07-02 10:40:43 -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
gnzlbg
ab7089bbe2 Run benchmarks on CI 2019-07-02 09:07:10 +02:00
gnzlbg
407b8b74ca Re-export the stable libm feature 2019-07-02 08:33:11 +02:00
gnzlbg
8f018d633c Do not enable default features in benchmarks 2019-07-02 08:32:31 +02:00