1 | // This is an open source non-commercial project. Dear PVS-Studio, please check |
2 | // it. PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com |
3 | |
4 | #include <math.h> |
5 | |
6 | #include "nvim/math.h" |
7 | |
8 | #ifdef INCLUDE_GENERATED_DECLARATIONS |
9 | # include "math.c.generated.h" |
10 | #endif |
11 | |
12 | #if defined(__clang__) && __clang__ == 1 && __clang_major__ >= 6 |
13 | // Workaround glibc + Clang 6+ bug. #8274 |
14 | // https://bugzilla.redhat.com/show_bug.cgi?id=1472437 |
15 | # pragma clang diagnostic push |
16 | # pragma clang diagnostic ignored "-Wconversion" |
17 | #endif |
18 | int xfpclassify(double d) |
19 | { |
20 | #if defined(__MINGW32__) |
21 | // Workaround mingw warning. #7863 |
22 | return __fpclassify(d); |
23 | #else |
24 | return fpclassify(d); |
25 | #endif |
26 | } |
27 | int xisinf(double d) |
28 | { |
29 | return isinf(d); |
30 | } |
31 | int xisnan(double d) |
32 | { |
33 | #if defined(__MINGW32__) |
34 | // Workaround mingw warning. #7863 |
35 | return _isnan(d); |
36 | #else |
37 | return isnan(d); |
38 | #endif |
39 | } |
40 | #if defined(__clang__) && __clang__ == 1 && __clang_major__ >= 6 |
41 | # pragma clang diagnostic pop |
42 | #endif |
43 | |