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
18int 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}
27int xisinf(double d)
28{
29 return isinf(d);
30}
31int 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