1 #define MAXFLOAT        0x1.fffffep127f
2 #define HUGE_VALF       __builtin_huge_valf()
3 #define INFINITY        __builtin_inff()
4 #define NAN             __builtin_nanf("")
5 
6 #define FLT_DIG         6
7 #define FLT_MANT_DIG    24
8 #define FLT_MAX_10_EXP  +38
9 #define FLT_MAX_EXP     +128
10 #define FLT_MIN_10_EXP  -37
11 #define FLT_MIN_EXP     -125
12 #define FLT_RADIX       2
13 #define FLT_MAX         MAXFLOAT
14 #define FLT_MIN         0x1.0p-126f
15 #define FLT_EPSILON     0x1.0p-23f
16 
17 #define FP_ILOGB0 (-2147483647 - 1)
18 #define FP_ILOGBNAN 2147483647
19 
20 #define M_E_F           0x1.5bf0a8p+1f
21 #define M_LOG2E_F       0x1.715476p+0f
22 #define M_LOG10E_F      0x1.bcb7b2p-2f
23 #define M_LN2_F         0x1.62e430p-1f
24 #define M_LN10_F        0x1.26bb1cp+1f
25 #define M_PI_F          0x1.921fb6p+1f
26 #define M_PI_2_F        0x1.921fb6p+0f
27 #define M_PI_4_F        0x1.921fb6p-1f
28 #define M_1_PI_F        0x1.45f306p-2f
29 #define M_2_PI_F        0x1.45f306p-1f
30 #define M_2_SQRTPI_F    0x1.20dd76p+0f
31 #define M_SQRT2_F       0x1.6a09e6p+0f
32 #define M_SQRT1_2_F     0x1.6a09e6p-1f
33 
34 #ifdef __CLC_INTERNAL
35 #define M_LOG210_F      0x1.a934f0p+1f
36 #endif
37 
38 #ifdef cl_khr_fp64
39 
40 #define HUGE_VAL        __builtin_huge_val()
41 
42 #define DBL_DIG         15
43 #define DBL_MANT_DIG    53
44 #define DBL_MAX_10_EXP  +308
45 #define DBL_MAX_EXP     +1024
46 #define DBL_MIN_10_EXP  -307
47 #define DBL_MIN_EXP     -1021
48 #define DBL_MAX         0x1.fffffffffffffp1023
49 #define DBL_MIN         0x1.0p-1022
50 #define DBL_EPSILON     0x1.0p-52
51 
52 #define M_E             0x1.5bf0a8b145769p+1
53 #define M_LOG2E         0x1.71547652b82fep+0
54 #define M_LOG10E        0x1.bcb7b1526e50ep-2
55 #define M_LN2           0x1.62e42fefa39efp-1
56 #define M_LN10          0x1.26bb1bbb55516p+1
57 #define M_PI            0x1.921fb54442d18p+1
58 #define M_PI_2          0x1.921fb54442d18p+0
59 #define M_PI_4          0x1.921fb54442d18p-1
60 #define M_1_PI          0x1.45f306dc9c883p-2
61 #define M_2_PI          0x1.45f306dc9c883p-1
62 #define M_2_SQRTPI      0x1.20dd750429b6dp+0
63 #define M_SQRT2         0x1.6a09e667f3bcdp+0
64 #define M_SQRT1_2       0x1.6a09e667f3bcdp-1
65 
66 #ifdef __CLC_INTERNAL
67 #define M_LOG210        0x1.a934f0979a371p+1
68 #endif
69 
70 #endif
71 
72 #ifdef cl_khr_fp16
73 
74 #if __OPENCL_VERSION__ >= 120
75 
76 #define HALF_DIG        3
77 #define HALF_MANT_DIG   11
78 #define HALF_MAX_10_EXP +4
79 #define HALF_MAX_EXP    +16
80 #define HALF_MIN_10_EXP -4
81 #define HALF_MIN_EXP    -13
82 
83 #define HALF_RADIX      2
84 #define HALF_MAX        0x1.ffcp15h
85 #define HALF_MIN        0x1.0p-14h
86 #define HALF_EPSILON    0x1.0p-10h
87 
88 #endif
89 
90 #endif
91