est31
c781759498
Partially revert a272d753f5
...
This partially reverts commit "Convert float_to_int! into a function"
2017-09-29 02:20:27 +02:00
est31
a20840262e
Partially revert 482d98318f
...
This partially reverts "Convert int_to_float! to a function".
2017-09-29 02:19:40 +02:00
est31
3efae7f7d9
Convert add! to a function
2017-09-14 17:33:44 +02:00
est31
482d98318f
Convert int_to_float! to a function
2017-09-14 16:32:50 +02:00
est31
ff63f7b80f
Convert float_to_int! into a function
2017-09-14 14:59:32 +02:00
est31
a272d753f5
Don't use the Wrapping wrapper in float addition
...
Inspired by a patch by mattico.
2017-09-14 02:08:28 +02:00
est31
72ed4c8bce
Don't use a macro for pow calculation
2017-09-14 01:59:02 +02:00
est31
8313cec597
Extend the Float trait by some constants and supertraits
2017-09-14 01:57:52 +02:00
est31
2c1d7dccc1
Use the newly added ONE constant in float addition
2017-09-14 00:10:16 +02:00
est31
46cfa05650
Introduce a float_impl! macro to avoid duplication
2017-09-13 22:44:56 +02:00
est31
9bdedec38e
Refactor float builtins to use associated consts
2017-09-13 22:09:52 +02:00
est31
c9a261895e
Refactor int builtins to use associated consts
2017-09-13 22:09:31 +02:00
Tim Neumann
c138713df1
Avoid memcpy references in unoptimized code
2017-07-22 23:10:30 +02:00
Alex Crichton
91eaa85902
Don't mangle probes all the time
2017-07-07 20:35:14 -07:00
Alex Crichton
2147753559
Remove usage of unwrap_or_else
2017-06-23 21:31:54 -07:00
Alex Crichton
4dac0be751
Don't derive Debug for Sign
2017-06-23 21:11:31 -07:00
Alex Crichton
b42d267065
Don't compile assembly on x86_64 Windows
...
They've all got the wrong ABI...
2017-06-23 21:09:24 -07:00
Alex Crichton
7de57cd4f9
Handle aeabi aliasing
...
Objects in compiler-rt may have two symbols, so this makes sure that we don't
bring in those objects by accident by defining the aliases ourselves.
2017-06-23 15:55:11 -07:00
Alex Crichton
a839d53a02
Deal with floatdidf on x86_64
...
Apparently LLVM will lower this down to just an instruction
2017-06-23 13:28:24 -07:00
Alex Crichton
5172f8c218
Tweak usage of C shims on MSVC
2017-06-23 12:03:33 -07:00
Alex Crichton
a16ebb0dcb
Use `nm` to weed out panics
2017-06-23 11:52:22 -07:00
Alex Crichton
83d63eaa9b
Convert float intrinsics to the `intrinsics!` macro
2017-06-23 11:05:25 -07:00
Alex Crichton
93fed264c1
Remove executable bit from conv.rs
2017-06-23 10:44:59 -07:00
Jorge Aparicio
b2f72e1eb1
remove unused macros
...
to fix warnings
2017-06-01 07:40:50 -05:00
est31
f90792e1bc
Add i128 <-> float conversion functions
2017-05-06 02:22:54 +02:00
est31
144e54d7b0
Rename float conversion macros to something nicer
2017-05-05 23:31:41 +02:00
Jorge Aparicio
b8e8c7f693
no_std compatible tester
2017-04-10 14:38:17 -05:00
Jorge Aparicio
cc0d8ba2d1
remove the current test suite
2017-04-10 11:14:05 -05:00
Jorge Aparicio
109c33ed0a
test out of range condition using f64
...
to avoid imprecision due to rounding to f32
2017-04-08 10:18:19 -05:00
Jorge Aparicio
4c556dc9e7
fix quickcheck tests
...
the check! macro syntax has changed
2017-03-06 12:17:41 -05:00
Wilfried Chauveau
09d2f2f1f5
exclude from tests values out of integer range (and NaN).
2017-03-06 11:56:52 -05:00
Wilfried Chauveau
d96102d270
implement float/double to (u)int conversion.
2017-03-06 11:56:52 -05:00
Wilfried Chauveau
293fef5ebe
impl (unsigned/signed) int to single/double precision float conversion based on llvm algorithms.
2017-03-06 11:55:57 -05:00
Jorge Aparicio
5bb969d8f5
implement float subtraction
...
as a + (-b)
2017-02-08 10:10:40 -05:00
Jorge Aparicio
47b45d1d62
adjust the check! macro to accept AAPCS intrinsics
2017-02-07 23:07:51 -05:00
Jorge Aparicio
57085be2ea
ARM: keep some non-aeabi symbols around
...
- multi3: there's no aeabi equivalent
- divmod{s,d}i4: these are directly called by __aeabi_{l,i}divmod
- add{s,d}f3: required by the C sub{s,d}f3 implementation
but make sure they also use the AAPCS calling convention
2017-02-07 14:28:02 -05:00
Jorge Aparicio
dfa7b161aa
use AAPCS calling convention on all aeabi intrinsics
...
also, on ARM, inline(always) the actual implementation of the intrinsics so we
end with code like this:
```
00000000 <__aeabi_dadd>:
(implementation here)
```
instead of "trampolines" like this:
```
00000000 <__aeabi_dadd>:
(shuffle registers)
(call __adddf3)
00000000 <__adddf3>:
(implementation here)
```
closes #116
2017-02-07 09:41:26 -05:00
Matt Ickstadt
f68475e080
Use better cfg name for arm-linux tests
2016-11-12 15:52:59 -06:00
Matt Ickstadt
655f642d3f
Add float quickcheck
2016-11-12 14:55:28 -06:00
Christopher Serr
4733417140
Fix a few clippy warnings
2016-10-16 13:53:31 +02:00
Jorge Aparicio
c82403551d
fix unsafe warnings
2016-10-07 18:19:40 -05:00
Jorge Aparicio
fd69beba29
get profile.dev (-debug-assertions) + LTO working
2016-10-07 18:19:40 -05:00
Matt Ickstadt
6622c49be6
Implement powi_f2
2016-10-03 11:20:42 -05:00
Matt Ickstadt
02140cddc9
Initial implementation of multitester
2016-10-02 14:38:40 -05:00
Jorge Aparicio
3b8dedd416
Revert "Merge pull request #48 from mattico/add_float_quickcheck"
...
This reverts commit e34a6058df
, reversing
changes made to cab88e6133
.
2016-09-30 19:12:17 -05:00
Matt Ickstadt
010d153966
Add Quickcheck types for float tests
2016-09-30 14:29:52 -05:00
Matt Ickstadt
9b1fed8d3f
Cleanup add builtin assignments
2016-09-30 14:29:52 -05:00
Matt Ickstadt
58e89b3024
Add floating point deconstruction helpers
2016-09-30 14:29:52 -05:00
Jorge Aparicio
f77ca915c4
add an opt-in cargo feature to build intrinsics from compiler-rt source
...
closes #63
cc #66
2016-09-29 16:06:24 -05:00
Alex Crichton
8e161a791a
Expand and refactor teting infrastructure
...
This commit moves over most of the testing infrastructure to in-tree docker
images that are all dispatched to from Travis (no other test configuration).
This allows versioning modifications to the test infrastructure as well as the
code itself. Additionally separate docker images allows for easy modification of
one without worrying about tampering of others as well as easy addition of new
targets by simply adding a new `Dockerfile`.
Additionally this commit bundles the master version of the `compiler-rt` source
repository from `llvm-mirror/compiler-rt` to test against. The compiler-rt
library itself is compiled as a `cdylib` which is then dynamically located at
runtime and we look for symbols in. There's a few hoops here, but they currently
get the job done.
All tests now execute against both gcc_s and compiler-rt, and this
testing strategy is now all hidden behind a macro as well (refactoring
all existing tests along the way).
2016-09-28 22:09:55 -07:00