Warning: This file is not a C or C++ file. It does not have highlighting.

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

Warning: This file is not a C or C++ file. It does not have highlighting.

Provided by KDAB

Privacy Policy
Update your C++ knowledge – Modern C++11/14/17 Training
Find out more

source code of libclc/clc/include/clc/float/definitions.h