3 // __clang_cuda_(c)math(.h) also provide `abs` which actually belong in
4 // cstdlib. We could split them out but for now we just include cstdlib from
5 // cmath.h which is what the systems I've seen do as well.
18 double atan2(double, double);
19 float atan2(float, float);
28 double copysign(double, double);
29 float copysign(float, float);
44 double fdim(double, double);
45 float fdim(float, float);
48 double fma(double, double, double);
49 float fma(float, float, float);
50 double fmax(double, double);
51 float fmax(float, float);
52 float max(float, float);
53 double max(double, double);
54 double fmin(double, double);
55 float fmin(float, float);
56 float min(float, float);
57 double min(double, double);
58 double fmod(double, double);
59 float fmod(float, float);
60 int fpclassify(double);
61 int fpclassify(float);
62 double frexp(double, int *);
63 float frexp(float, int *);
64 double hypot(double, double);
65 float hypot(float, float);
68 bool isfinite(long double);
69 bool isfinite(double);
71 bool isgreater(double, double);
72 bool isgreaterequal(double, double);
73 bool isgreaterequal(float, float);
74 bool isgreater(float, float);
75 bool isinf(long double);
78 bool isless(double, double);
79 bool islessequal(double, double);
80 bool islessequal(float, float);
81 bool isless(float, float);
82 bool islessgreater(double, double);
83 bool islessgreater(float, float);
84 bool isnan(long double);
85 #ifdef USE_ISNAN_WITH_INT_RETURN
92 bool isnormal(double);
94 bool isunordered(double, double);
95 bool isunordered(float, float);
96 double ldexp(double, int);
97 float ldexp(float, int);
98 double lgamma(double);
100 long long llrint(double);
101 long long llrint(float);
102 double log10(double);
104 double log1p(double);
116 long long llround(float); // No llround(double).
117 double modf(double, double *);
118 float modf(float, float *);
119 double nan(const char *);
120 float nanf(const char *);
121 double nearbyint(double);
122 float nearbyint(float);
123 double nextafter(double, double);
124 float nextafter(float, float);
125 double pow(double, double);
126 double pow(double, int);
127 float pow(float, float);
128 float pow(float, int);
129 double remainder(double, double);
130 float remainder(float, float);
131 double remquo(double, double, int *);
132 float remquo(float, float, int *);
135 double round(double);
137 double scalbln(double, long);
138 float scalbln(float, long);
139 double scalbn(double, int);
140 float scalbn(float, int);
141 bool signbit(double);
143 long double sin(long double);
154 double tgamma(double);
156 double trunc(double);
190 using ::isgreaterequal;
194 using ::islessgreater;
233 #define FP_INFINITE 1
235 #define FP_SUBNORMAL 3