Louis Dionne
280d459517
DO NOT MERGE: [libc++] Move __clamp_to_integral to <cmath>, and harden against min()/max() macros
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@370900 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit 87e6185621d332d2ef8695b94778663380c83bb9)
Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=994957
Bug: http://b/139690488
Change-Id: Ice92a8ea6f675be069a70c5ad1003cf99b4fc474
(cherry picked from commit 82e0483c4a47233ed2f7bab545b32e5ddd474e59)
2019-09-13 14:42:11 -07:00
Louis Dionne
baeddde44d
DO NOT MERGE: [libc++] Add __truncating_cast for safely casting float types to integers
...
This is needed anytime we need to clamp an arbitrary floating point
value to an integer type.
Thanks to Eric Fiselier for the patch.
Differential Revision: https://reviews.llvm.org/D66836
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@370891 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit c9ac8d533010d8915bcfdecab891fb451f71ce74)
(cherry picked from commit 4561f55204960c0b3bc4594089ddcf56e5655cad)
Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=994957
Bug: http://b/139690488
Change-Id: Ibfa9f6465214466511e3d35b02eb3b77488050e7
2019-09-13 14:41:23 -07:00
Saleem Abdulrasool
1eab168286
math: add type promoting template definition on MSVCRT
...
When building with MSVCRT, we need to manually provide the type
promoting overloads to allow the correct type deduced invocation for
signbit(Int) and fpclassify(int).
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@295559 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-18 19:28:38 +00:00
Saleem Abdulrasool
29a8300460
math: fix typo in macro
...
MAJOR was misspelt as NAJOR. Fix the spelling.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@295510 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-17 23:08:44 +00:00
Saleem Abdulrasool
af5f91fd19
math: correct the MSVCRT condition
...
Fixes a number of tests in the testsuite on Windows.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@295330 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-16 15:47:50 +00:00
Saleem Abdulrasool
766ba68107
math: actually pull the declarations/overloads into std
...
The previous changes missed the change to include/cmath. These changes
allow some of the rand.distribution tests to pass on Windows.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294957 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-13 15:26:50 +00:00
Saleem Abdulrasool
bacb35f5ae
math: follow up to SVN r294902
...
Pull in the math functions from ucrt 14+ after auditing the library. It
seems that they are now complete for C99 math. Fixes more windows
tests!
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294918 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-12 21:42:37 +00:00
Saleem Abdulrasool
be3d93ca48
math: pull more C functions from std
...
The newer ucrt version provides the gamma meth routines. Includede them
when building the library.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294902 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-12 17:37:45 +00:00
Mehdi Amini
7666130d06
Fully qualify (preprend ::) calls to math functions from libc
...
Summary:
This can cause a compile failure in cases like:
double log(double);
namespace foo {
namespace log {}
}
using namespace foo;
void bar(int i) {
log((double)i);
}
Reviewers: EricWF, mclow.lists
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D29804
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294696 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-10 02:44:23 +00:00
Shoaib Meenai
7dc2fa31af
[libc++] Remove math_win32.h
...
Visual Studio 2013 and onward have all the required functions in their
CRT headers, and we don't support older versions anymore.
Differential Revision: https://reviews.llvm.org/D24879
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@282328 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-24 06:27:28 +00:00
Eric Fiselier
543cf61be7
Fix PR28506. Re-enable missing math.h C++11 decls on SunOS. Patch from Michal Gorny.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@278716 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-15 18:58:57 +00:00
Richard Smith
45bae0b7dc
PR25118: move system_header pragma before uses of include_next to avoid extension warnings for people finding libc++ headers via -I paths.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@249788 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-09 00:26:50 +00:00
Richard Smith
4faa3944c6
Split <math.h> out of <cmath>.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@249742 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-08 20:40:34 +00:00