|
9 | 9 | #ifndef PTX_NVIDIACL_LIBDEVICE_H |
10 | 10 | #define PTX_NVIDIACL_LIBDEVICE_H |
11 | 11 |
|
12 | | -#define __LIBDEVICE_UNARY_BUILTIN_F(BUILTIN) float __nv_ ## BUILTIN ## f(float); |
| 12 | +#define __LIBDEVICE_UNARY_BUILTIN_F(BUILTIN) float __nv_##BUILTIN##f(float); |
| 13 | +#define __LIBDEVICE_BINARY_BUILTIN_F(BUILTIN) \ |
| 14 | + float __nv_##BUILTIN##f(float, float); |
13 | 15 |
|
14 | 16 | #ifdef cl_khr_fp64 |
15 | 17 |
|
16 | 18 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable |
17 | 19 |
|
18 | | -#define __LIBDEVICE_UNARY_BUILTIN_D(BUILTIN) double __nv_ ## BUILTIN(double); |
| 20 | +#define __LIBDEVICE_UNARY_BUILTIN_D(BUILTIN) double __nv_##BUILTIN(double); |
| 21 | +#define __LIBDEVICE_BINARY_BUILTIN_D(BUILTIN) \ |
| 22 | + double __nv_##BUILTIN(double, double); |
19 | 23 |
|
20 | 24 | #else |
21 | 25 |
|
22 | 26 | #define __LIBDEVICE_UNARY_BUILTIN_D(BUILTIN) |
23 | 27 |
|
24 | 28 | #endif |
25 | 29 |
|
26 | | -#define __LIBDEVICE_UNARY_BUILTIN(BUILTIN) \ |
27 | | - __LIBDEVICE_UNARY_BUILTIN_F(BUILTIN) \ |
| 30 | +#define __LIBDEVICE_UNARY_BUILTIN(BUILTIN) \ |
| 31 | + __LIBDEVICE_UNARY_BUILTIN_F(BUILTIN) \ |
28 | 32 | __LIBDEVICE_UNARY_BUILTIN_D(BUILTIN) |
29 | 33 |
|
| 34 | +#define __LIBDEVICE_BINARY_BUILTIN(BUILTIN) \ |
| 35 | + __LIBDEVICE_BINARY_BUILTIN_F(BUILTIN) \ |
| 36 | + __LIBDEVICE_BINARY_BUILTIN_D(BUILTIN) |
| 37 | + |
30 | 38 | __LIBDEVICE_UNARY_BUILTIN(exp) |
31 | 39 | __LIBDEVICE_UNARY_BUILTIN(exp2) |
32 | 40 | __LIBDEVICE_UNARY_BUILTIN(exp10) |
33 | 41 | __LIBDEVICE_UNARY_BUILTIN(expm1) |
34 | 42 | __LIBDEVICE_UNARY_BUILTIN_F(fast_exp) |
35 | 43 | __LIBDEVICE_UNARY_BUILTIN_F(fast_exp10) |
36 | 44 |
|
| 45 | +__LIBDEVICE_BINARY_BUILTIN(fmod) |
37 | 46 |
|
38 | 47 | #endif |
0 commit comments