xref: /aosp_15_r20/external/llvm-libc/include/llvm-libc-macros/stdfix-macros.h (revision 71db0c75aadcf003ffe3238005f61d7618a3fead)
1*71db0c75SAndroid Build Coastguard Worker //===-- Definitions from stdfix.h -----------------------------------------===//
2*71db0c75SAndroid Build Coastguard Worker //
3*71db0c75SAndroid Build Coastguard Worker // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*71db0c75SAndroid Build Coastguard Worker // See https://llvm.org/LICENSE.txt for license information.
5*71db0c75SAndroid Build Coastguard Worker // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*71db0c75SAndroid Build Coastguard Worker //
7*71db0c75SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
8*71db0c75SAndroid Build Coastguard Worker 
9*71db0c75SAndroid Build Coastguard Worker #ifndef LLVM_LIBC_MACROS_STDFIX_MACROS_H
10*71db0c75SAndroid Build Coastguard Worker #define LLVM_LIBC_MACROS_STDFIX_MACROS_H
11*71db0c75SAndroid Build Coastguard Worker 
12*71db0c75SAndroid Build Coastguard Worker #ifdef __FRACT_FBIT__
13*71db0c75SAndroid Build Coastguard Worker // _Fract and _Accum types are available
14*71db0c75SAndroid Build Coastguard Worker #define LIBC_COMPILER_HAS_FIXED_POINT
15*71db0c75SAndroid Build Coastguard Worker #endif // __FRACT_FBIT__
16*71db0c75SAndroid Build Coastguard Worker 
17*71db0c75SAndroid Build Coastguard Worker #ifdef LIBC_COMPILER_HAS_FIXED_POINT
18*71db0c75SAndroid Build Coastguard Worker 
19*71db0c75SAndroid Build Coastguard Worker #define fract _Fract
20*71db0c75SAndroid Build Coastguard Worker #define accum _Accum
21*71db0c75SAndroid Build Coastguard Worker #define sat _Sat
22*71db0c75SAndroid Build Coastguard Worker 
23*71db0c75SAndroid Build Coastguard Worker // Default values: from ISO/IEC TR 18037:2008 standard - Annex A.3 - Typical
24*71db0c75SAndroid Build Coastguard Worker // desktop processor.
25*71db0c75SAndroid Build Coastguard Worker 
26*71db0c75SAndroid Build Coastguard Worker #ifdef __SFRACT_FBIT__
27*71db0c75SAndroid Build Coastguard Worker #define SFRACT_FBIT __SFRACT_FBIT__
28*71db0c75SAndroid Build Coastguard Worker #else
29*71db0c75SAndroid Build Coastguard Worker #define SFRACT_FBIT 7
30*71db0c75SAndroid Build Coastguard Worker #endif // SFRACT_FBIT
31*71db0c75SAndroid Build Coastguard Worker 
32*71db0c75SAndroid Build Coastguard Worker #ifdef __SFRACT_MIN__
33*71db0c75SAndroid Build Coastguard Worker #define SFRACT_MIN __SFRACT_MIN__
34*71db0c75SAndroid Build Coastguard Worker #else
35*71db0c75SAndroid Build Coastguard Worker #define SFRACT_MIN (-0.5HR - 0.5HR)
36*71db0c75SAndroid Build Coastguard Worker #endif // SFRACT_MIN
37*71db0c75SAndroid Build Coastguard Worker 
38*71db0c75SAndroid Build Coastguard Worker #ifdef __SFRACT_MAX__
39*71db0c75SAndroid Build Coastguard Worker #define SFRACT_MAX __SFRACT_MAX__
40*71db0c75SAndroid Build Coastguard Worker #else
41*71db0c75SAndroid Build Coastguard Worker #define SFRACT_MAX 0x1.FCp-1HR
42*71db0c75SAndroid Build Coastguard Worker #endif // SFRACT_MAX
43*71db0c75SAndroid Build Coastguard Worker 
44*71db0c75SAndroid Build Coastguard Worker #ifdef __SFRACT_EPSILON__
45*71db0c75SAndroid Build Coastguard Worker #define SFRACT_EPSILON __SFRACT_EPSILON__
46*71db0c75SAndroid Build Coastguard Worker #else
47*71db0c75SAndroid Build Coastguard Worker #define SFRACT_EPSILON 0x1.0p-7HR
48*71db0c75SAndroid Build Coastguard Worker #endif // SFRACT_EPSILON
49*71db0c75SAndroid Build Coastguard Worker 
50*71db0c75SAndroid Build Coastguard Worker #ifdef __USFRACT_FBIT__
51*71db0c75SAndroid Build Coastguard Worker #define USFRACT_FBIT __USFRACT_FBIT__
52*71db0c75SAndroid Build Coastguard Worker #else
53*71db0c75SAndroid Build Coastguard Worker #define USFRACT_FBIT 8
54*71db0c75SAndroid Build Coastguard Worker #endif // USFRACT_FBIT
55*71db0c75SAndroid Build Coastguard Worker 
56*71db0c75SAndroid Build Coastguard Worker #define USFRACT_MIN 0.0UHR
57*71db0c75SAndroid Build Coastguard Worker 
58*71db0c75SAndroid Build Coastguard Worker #ifdef __USFRACT_MAX__
59*71db0c75SAndroid Build Coastguard Worker #define USFRACT_MAX __USFRACT_MAX__
60*71db0c75SAndroid Build Coastguard Worker #else
61*71db0c75SAndroid Build Coastguard Worker #define USFRACT_MAX 0x1.FEp-1UHR
62*71db0c75SAndroid Build Coastguard Worker #endif // USFRACT_MAX
63*71db0c75SAndroid Build Coastguard Worker 
64*71db0c75SAndroid Build Coastguard Worker #ifdef __USFRACT_EPSILON__
65*71db0c75SAndroid Build Coastguard Worker #define USFRACT_EPSILON __USFRACT_EPSILON__
66*71db0c75SAndroid Build Coastguard Worker #else
67*71db0c75SAndroid Build Coastguard Worker #define USFRACT_EPSILON 0x1.0p-8UHR
68*71db0c75SAndroid Build Coastguard Worker #endif // USFRACT_EPSILON
69*71db0c75SAndroid Build Coastguard Worker 
70*71db0c75SAndroid Build Coastguard Worker #ifdef __FRACT_FBIT__
71*71db0c75SAndroid Build Coastguard Worker #define FRACT_FBIT __FRACT_FBIT__
72*71db0c75SAndroid Build Coastguard Worker #else
73*71db0c75SAndroid Build Coastguard Worker #define FRACT_FBIT 15
74*71db0c75SAndroid Build Coastguard Worker #endif // FRACT_FBIT
75*71db0c75SAndroid Build Coastguard Worker 
76*71db0c75SAndroid Build Coastguard Worker #ifdef __FRACT_MIN__
77*71db0c75SAndroid Build Coastguard Worker #define FRACT_MIN __FRACT_MIN__
78*71db0c75SAndroid Build Coastguard Worker #else
79*71db0c75SAndroid Build Coastguard Worker #define FRACT_MIN (-0.5R - 0.5R)
80*71db0c75SAndroid Build Coastguard Worker #endif // FRACT_MIN
81*71db0c75SAndroid Build Coastguard Worker 
82*71db0c75SAndroid Build Coastguard Worker #ifdef __FRACT_MAX__
83*71db0c75SAndroid Build Coastguard Worker #define FRACT_MAX __FRACT_MAX__
84*71db0c75SAndroid Build Coastguard Worker #else
85*71db0c75SAndroid Build Coastguard Worker #define FRACT_MAX 0x1.FFFCp-1R
86*71db0c75SAndroid Build Coastguard Worker #endif // FRACT_MAX
87*71db0c75SAndroid Build Coastguard Worker 
88*71db0c75SAndroid Build Coastguard Worker #ifdef __FRACT_EPSILON__
89*71db0c75SAndroid Build Coastguard Worker #define FRACT_EPSILON __FRACT_EPSILON__
90*71db0c75SAndroid Build Coastguard Worker #else
91*71db0c75SAndroid Build Coastguard Worker #define FRACT_EPSILON 0x1.0p-15R
92*71db0c75SAndroid Build Coastguard Worker #endif // FRACT_EPSILON
93*71db0c75SAndroid Build Coastguard Worker 
94*71db0c75SAndroid Build Coastguard Worker #ifdef __UFRACT_FBIT__
95*71db0c75SAndroid Build Coastguard Worker #define UFRACT_FBIT __UFRACT_FBIT__
96*71db0c75SAndroid Build Coastguard Worker #else
97*71db0c75SAndroid Build Coastguard Worker #define UFRACT_FBIT 16
98*71db0c75SAndroid Build Coastguard Worker #endif // UFRACT_FBIT
99*71db0c75SAndroid Build Coastguard Worker 
100*71db0c75SAndroid Build Coastguard Worker #define UFRACT_MIN 0.0UR
101*71db0c75SAndroid Build Coastguard Worker 
102*71db0c75SAndroid Build Coastguard Worker #ifdef __UFRACT_MAX__
103*71db0c75SAndroid Build Coastguard Worker #define UFRACT_MAX __UFRACT_MAX__
104*71db0c75SAndroid Build Coastguard Worker #else
105*71db0c75SAndroid Build Coastguard Worker #define UFRACT_MAX 0x1.FFFEp-1UR
106*71db0c75SAndroid Build Coastguard Worker #endif // UFRACT_MAX
107*71db0c75SAndroid Build Coastguard Worker 
108*71db0c75SAndroid Build Coastguard Worker #ifdef __UFRACT_EPSILON__
109*71db0c75SAndroid Build Coastguard Worker #define UFRACT_EPSILON __UFRACT_EPSILON__
110*71db0c75SAndroid Build Coastguard Worker #else
111*71db0c75SAndroid Build Coastguard Worker #define UFRACT_EPSILON 0x1.0p-16UR
112*71db0c75SAndroid Build Coastguard Worker #endif // UFRACT_EPSILON
113*71db0c75SAndroid Build Coastguard Worker 
114*71db0c75SAndroid Build Coastguard Worker #ifdef __LFRACT_FBIT__
115*71db0c75SAndroid Build Coastguard Worker #define LFRACT_FBIT __LFRACT_FBIT__
116*71db0c75SAndroid Build Coastguard Worker #else
117*71db0c75SAndroid Build Coastguard Worker #define LFRACT_FBIT 31
118*71db0c75SAndroid Build Coastguard Worker #endif // LFRACT_FBIT
119*71db0c75SAndroid Build Coastguard Worker 
120*71db0c75SAndroid Build Coastguard Worker #ifdef __LFRACT_MIN__
121*71db0c75SAndroid Build Coastguard Worker #define LFRACT_MIN __LFRACT_MIN__
122*71db0c75SAndroid Build Coastguard Worker #else
123*71db0c75SAndroid Build Coastguard Worker #define LFRACT_MIN (-0.5LR - 0.5LR)
124*71db0c75SAndroid Build Coastguard Worker #endif // LFRACT_MIN
125*71db0c75SAndroid Build Coastguard Worker 
126*71db0c75SAndroid Build Coastguard Worker #ifdef __LFRACT_MAX__
127*71db0c75SAndroid Build Coastguard Worker #define LFRACT_MAX __LFRACT_MAX__
128*71db0c75SAndroid Build Coastguard Worker #else
129*71db0c75SAndroid Build Coastguard Worker #define LFRACT_MAX 0x1.FFFFFFFCp-1LR
130*71db0c75SAndroid Build Coastguard Worker #endif // LFRACT_MAX
131*71db0c75SAndroid Build Coastguard Worker 
132*71db0c75SAndroid Build Coastguard Worker #ifdef __LFRACT_EPSILON__
133*71db0c75SAndroid Build Coastguard Worker #define LFRACT_EPSILON __LFRACT_EPSILON__
134*71db0c75SAndroid Build Coastguard Worker #else
135*71db0c75SAndroid Build Coastguard Worker #define LFRACT_EPSILON 0x1.0p-31LR
136*71db0c75SAndroid Build Coastguard Worker #endif // LFRACT_EPSILON
137*71db0c75SAndroid Build Coastguard Worker 
138*71db0c75SAndroid Build Coastguard Worker #ifdef __ULFRACT_FBIT__
139*71db0c75SAndroid Build Coastguard Worker #define ULFRACT_FBIT __ULFRACT_FBIT__
140*71db0c75SAndroid Build Coastguard Worker #else
141*71db0c75SAndroid Build Coastguard Worker #define ULFRACT_FBIT 32
142*71db0c75SAndroid Build Coastguard Worker #endif // ULFRACT_FBIT
143*71db0c75SAndroid Build Coastguard Worker 
144*71db0c75SAndroid Build Coastguard Worker #define ULFRACT_MIN 0.0ULR
145*71db0c75SAndroid Build Coastguard Worker 
146*71db0c75SAndroid Build Coastguard Worker #ifdef __ULFRACT_MAX__
147*71db0c75SAndroid Build Coastguard Worker #define ULFRACT_MAX __ULFRACT_MAX__
148*71db0c75SAndroid Build Coastguard Worker #else
149*71db0c75SAndroid Build Coastguard Worker #define ULFRACT_MAX 0x1.FFFFFFFEp-1ULR
150*71db0c75SAndroid Build Coastguard Worker #endif // ULFRACT_MAX
151*71db0c75SAndroid Build Coastguard Worker 
152*71db0c75SAndroid Build Coastguard Worker #ifdef __ULFRACT_EPSILON__
153*71db0c75SAndroid Build Coastguard Worker #define ULFRACT_EPSILON __ULFRACT_EPSILON__
154*71db0c75SAndroid Build Coastguard Worker #else
155*71db0c75SAndroid Build Coastguard Worker #define ULFRACT_EPSILON 0x1.0p-32ULR
156*71db0c75SAndroid Build Coastguard Worker #endif // ULFRACT_EPSILON
157*71db0c75SAndroid Build Coastguard Worker 
158*71db0c75SAndroid Build Coastguard Worker #ifdef __SACCUM_FBIT__
159*71db0c75SAndroid Build Coastguard Worker #define SACCUM_FBIT __SACCUM_FBIT__
160*71db0c75SAndroid Build Coastguard Worker #else
161*71db0c75SAndroid Build Coastguard Worker #define SACCUM_FBIT 7
162*71db0c75SAndroid Build Coastguard Worker #endif // SACCUM_FBIT
163*71db0c75SAndroid Build Coastguard Worker 
164*71db0c75SAndroid Build Coastguard Worker #ifdef __SACCUM_IBIT__
165*71db0c75SAndroid Build Coastguard Worker #define SACCUM_IBIT __SACCUM_IBIT__
166*71db0c75SAndroid Build Coastguard Worker #else
167*71db0c75SAndroid Build Coastguard Worker #define SACCUM_IBIT 8
168*71db0c75SAndroid Build Coastguard Worker #endif // SACCUM_IBIT
169*71db0c75SAndroid Build Coastguard Worker 
170*71db0c75SAndroid Build Coastguard Worker #ifdef __SACCUM_MIN__
171*71db0c75SAndroid Build Coastguard Worker #define SACCUM_MIN __SACCUM_MIN__
172*71db0c75SAndroid Build Coastguard Worker #else
173*71db0c75SAndroid Build Coastguard Worker #define SACCUM_MIN (-0x1.0p+7HK - 0x1.0p+7HK)
174*71db0c75SAndroid Build Coastguard Worker #endif // SACCUM_MIN
175*71db0c75SAndroid Build Coastguard Worker 
176*71db0c75SAndroid Build Coastguard Worker #ifdef __SACCUM_MAX__
177*71db0c75SAndroid Build Coastguard Worker #define SACCUM_MAX __SACCUM_MAX__
178*71db0c75SAndroid Build Coastguard Worker #else
179*71db0c75SAndroid Build Coastguard Worker #define SACCUM_MAX 0x1.FFFCp+7HK
180*71db0c75SAndroid Build Coastguard Worker #endif // SACCUM_MAX
181*71db0c75SAndroid Build Coastguard Worker 
182*71db0c75SAndroid Build Coastguard Worker #ifdef __SACCUM_EPSILON__
183*71db0c75SAndroid Build Coastguard Worker #define SACCUM_EPSILON __SACCUM_EPSILON__
184*71db0c75SAndroid Build Coastguard Worker #else
185*71db0c75SAndroid Build Coastguard Worker #define SACCUM_EPSILON 0x1.0p-7HK
186*71db0c75SAndroid Build Coastguard Worker #endif // SACCUM_EPSILON
187*71db0c75SAndroid Build Coastguard Worker 
188*71db0c75SAndroid Build Coastguard Worker #ifdef __USACCUM_FBIT__
189*71db0c75SAndroid Build Coastguard Worker #define USACCUM_FBIT __USACCUM_FBIT__
190*71db0c75SAndroid Build Coastguard Worker #else
191*71db0c75SAndroid Build Coastguard Worker #define USACCUM_FBIT 8
192*71db0c75SAndroid Build Coastguard Worker #endif // USACCUM_FBIT
193*71db0c75SAndroid Build Coastguard Worker 
194*71db0c75SAndroid Build Coastguard Worker #ifdef __USACCUM_IBIT__
195*71db0c75SAndroid Build Coastguard Worker #define USACCUM_IBIT __USACCUM_IBIT__
196*71db0c75SAndroid Build Coastguard Worker #else
197*71db0c75SAndroid Build Coastguard Worker #define USACCUM_IBIT 8
198*71db0c75SAndroid Build Coastguard Worker #endif // USACCUM_IBIT
199*71db0c75SAndroid Build Coastguard Worker 
200*71db0c75SAndroid Build Coastguard Worker #define USACCUM_MIN 0.0UHK
201*71db0c75SAndroid Build Coastguard Worker 
202*71db0c75SAndroid Build Coastguard Worker #ifdef __USACCUM_MAX__
203*71db0c75SAndroid Build Coastguard Worker #define USACCUM_MAX __USACCUM_MAX__
204*71db0c75SAndroid Build Coastguard Worker #else
205*71db0c75SAndroid Build Coastguard Worker #define USACCUM_MAX 0x1.FFFEp+7UHK
206*71db0c75SAndroid Build Coastguard Worker #endif // USACCUM_MAX
207*71db0c75SAndroid Build Coastguard Worker 
208*71db0c75SAndroid Build Coastguard Worker #ifdef __USACCUM_EPSILON__
209*71db0c75SAndroid Build Coastguard Worker #define USACCUM_EPSILON __USACCUM_EPSILON__
210*71db0c75SAndroid Build Coastguard Worker #else
211*71db0c75SAndroid Build Coastguard Worker #define USACCUM_EPSILON 0x1.0p-8UHK
212*71db0c75SAndroid Build Coastguard Worker #endif // USACCUM_EPSILON
213*71db0c75SAndroid Build Coastguard Worker 
214*71db0c75SAndroid Build Coastguard Worker #ifdef __ACCUM_FBIT__
215*71db0c75SAndroid Build Coastguard Worker #define ACCUM_FBIT __ACCUM_FBIT__
216*71db0c75SAndroid Build Coastguard Worker #else
217*71db0c75SAndroid Build Coastguard Worker #define ACCUM_FBIT 15
218*71db0c75SAndroid Build Coastguard Worker #endif // ACCUM_FBIT
219*71db0c75SAndroid Build Coastguard Worker 
220*71db0c75SAndroid Build Coastguard Worker #ifdef __ACCUM_IBIT__
221*71db0c75SAndroid Build Coastguard Worker #define ACCUM_IBIT __ACCUM_IBIT__
222*71db0c75SAndroid Build Coastguard Worker #else
223*71db0c75SAndroid Build Coastguard Worker #define ACCUM_IBIT 16
224*71db0c75SAndroid Build Coastguard Worker #endif // ACCUM_IBIT
225*71db0c75SAndroid Build Coastguard Worker 
226*71db0c75SAndroid Build Coastguard Worker #ifdef __ACCUM_MIN__
227*71db0c75SAndroid Build Coastguard Worker #define ACCUM_MIN __ACCUM_MIN__
228*71db0c75SAndroid Build Coastguard Worker #else
229*71db0c75SAndroid Build Coastguard Worker #define ACCUM_MIN (-0x1.0p+15K - 0x1.0p+15K)
230*71db0c75SAndroid Build Coastguard Worker #endif // ACCUM_MIN
231*71db0c75SAndroid Build Coastguard Worker 
232*71db0c75SAndroid Build Coastguard Worker #ifdef __ACCUM_MAX__
233*71db0c75SAndroid Build Coastguard Worker #define ACCUM_MAX __ACCUM_MAX__
234*71db0c75SAndroid Build Coastguard Worker #else
235*71db0c75SAndroid Build Coastguard Worker #define ACCUM_MAX 0x1.FFFFFFFCp+15K
236*71db0c75SAndroid Build Coastguard Worker #endif // ACCUM_MAX
237*71db0c75SAndroid Build Coastguard Worker 
238*71db0c75SAndroid Build Coastguard Worker #ifdef __ACCUM_EPSILON__
239*71db0c75SAndroid Build Coastguard Worker #define ACCUM_EPSILON __ACCUM_EPSILON__
240*71db0c75SAndroid Build Coastguard Worker #else
241*71db0c75SAndroid Build Coastguard Worker #define ACCUM_EPSILON 0x1.0p-15K
242*71db0c75SAndroid Build Coastguard Worker #endif // ACCUM_EPSILON
243*71db0c75SAndroid Build Coastguard Worker 
244*71db0c75SAndroid Build Coastguard Worker #ifdef __UACCUM_FBIT__
245*71db0c75SAndroid Build Coastguard Worker #define UACCUM_FBIT __UACCUM_FBIT__
246*71db0c75SAndroid Build Coastguard Worker #else
247*71db0c75SAndroid Build Coastguard Worker #define UACCUM_FBIT 16
248*71db0c75SAndroid Build Coastguard Worker #endif // UACCUM_FBIT
249*71db0c75SAndroid Build Coastguard Worker 
250*71db0c75SAndroid Build Coastguard Worker #ifdef __UACCUM_IBIT__
251*71db0c75SAndroid Build Coastguard Worker #define UACCUM_IBIT __UACCUM_IBIT__
252*71db0c75SAndroid Build Coastguard Worker #else
253*71db0c75SAndroid Build Coastguard Worker #define UACCUM_IBIT 16
254*71db0c75SAndroid Build Coastguard Worker #endif // UACCUM_IBIT
255*71db0c75SAndroid Build Coastguard Worker 
256*71db0c75SAndroid Build Coastguard Worker #define UACCUM_MIN 0.0UK
257*71db0c75SAndroid Build Coastguard Worker 
258*71db0c75SAndroid Build Coastguard Worker #ifdef __UACCUM_MAX__
259*71db0c75SAndroid Build Coastguard Worker #define UACCUM_MAX __UACCUM_MAX__
260*71db0c75SAndroid Build Coastguard Worker #else
261*71db0c75SAndroid Build Coastguard Worker #define UACCUM_MAX 0x1.FFFFFFFEp+15UK
262*71db0c75SAndroid Build Coastguard Worker #endif // UACCUM_MAX
263*71db0c75SAndroid Build Coastguard Worker 
264*71db0c75SAndroid Build Coastguard Worker #ifdef __UACCUM_EPSILON__
265*71db0c75SAndroid Build Coastguard Worker #define UACCUM_EPSILON __UACCUM_EPSILON__
266*71db0c75SAndroid Build Coastguard Worker #else
267*71db0c75SAndroid Build Coastguard Worker #define UACCUM_EPSILON 0x1.0p-16UK
268*71db0c75SAndroid Build Coastguard Worker #endif // UACCUM_EPSILON
269*71db0c75SAndroid Build Coastguard Worker 
270*71db0c75SAndroid Build Coastguard Worker #ifdef __LACCUM_FBIT__
271*71db0c75SAndroid Build Coastguard Worker #define LACCUM_FBIT __LACCUM_FBIT__
272*71db0c75SAndroid Build Coastguard Worker #else
273*71db0c75SAndroid Build Coastguard Worker #define LACCUM_FBIT 31
274*71db0c75SAndroid Build Coastguard Worker #endif // LACCUM_FBIT
275*71db0c75SAndroid Build Coastguard Worker 
276*71db0c75SAndroid Build Coastguard Worker #ifdef __LACCUM_IBIT__
277*71db0c75SAndroid Build Coastguard Worker #define LACCUM_IBIT __LACCUM_IBIT__
278*71db0c75SAndroid Build Coastguard Worker #else
279*71db0c75SAndroid Build Coastguard Worker #define LACCUM_IBIT 32
280*71db0c75SAndroid Build Coastguard Worker #endif // LACCUM_IBIT
281*71db0c75SAndroid Build Coastguard Worker 
282*71db0c75SAndroid Build Coastguard Worker #ifdef __LACCUM_MIN__
283*71db0c75SAndroid Build Coastguard Worker #define LACCUM_MIN __LACCUM_MIN__
284*71db0c75SAndroid Build Coastguard Worker #else
285*71db0c75SAndroid Build Coastguard Worker #define LACCUM_MIN (-0x1.0p+31LK - 0x1.0p+31LK)
286*71db0c75SAndroid Build Coastguard Worker #endif // LACCUM_MIN
287*71db0c75SAndroid Build Coastguard Worker 
288*71db0c75SAndroid Build Coastguard Worker #ifdef __LACCUM_MAX__
289*71db0c75SAndroid Build Coastguard Worker #define LACCUM_MAX __LACCUM_MAX__
290*71db0c75SAndroid Build Coastguard Worker #else
291*71db0c75SAndroid Build Coastguard Worker #define LACCUM_MAX 0x1.FFFFFFFFFFFFFFFCp+31LK
292*71db0c75SAndroid Build Coastguard Worker #endif // LACCUM_MAX
293*71db0c75SAndroid Build Coastguard Worker 
294*71db0c75SAndroid Build Coastguard Worker #ifdef __LACCUM_EPSILON__
295*71db0c75SAndroid Build Coastguard Worker #define LACCUM_EPSILON __LACCUM_EPSILON__
296*71db0c75SAndroid Build Coastguard Worker #else
297*71db0c75SAndroid Build Coastguard Worker #define LACCUM_EPSILON 0x1.0p-31LK
298*71db0c75SAndroid Build Coastguard Worker #endif // LACCUM_EPSILON
299*71db0c75SAndroid Build Coastguard Worker 
300*71db0c75SAndroid Build Coastguard Worker #ifdef __ULACCUM_FBIT__
301*71db0c75SAndroid Build Coastguard Worker #define ULACCUM_FBIT __ULACCUM_FBIT__
302*71db0c75SAndroid Build Coastguard Worker #else
303*71db0c75SAndroid Build Coastguard Worker #define ULACCUM_FBIT 32
304*71db0c75SAndroid Build Coastguard Worker #endif // ULACCUM_FBIT
305*71db0c75SAndroid Build Coastguard Worker 
306*71db0c75SAndroid Build Coastguard Worker #ifdef __ULACCUM_IBIT__
307*71db0c75SAndroid Build Coastguard Worker #define ULACCUM_IBIT __ULACCUM_IBIT__
308*71db0c75SAndroid Build Coastguard Worker #else
309*71db0c75SAndroid Build Coastguard Worker #define ULACCUM_IBIT 32
310*71db0c75SAndroid Build Coastguard Worker #endif // ULACCUM_IBIT
311*71db0c75SAndroid Build Coastguard Worker 
312*71db0c75SAndroid Build Coastguard Worker #define ULACCUM_MIN 0.0ULK
313*71db0c75SAndroid Build Coastguard Worker 
314*71db0c75SAndroid Build Coastguard Worker #ifdef __ULACCUM_MAX__
315*71db0c75SAndroid Build Coastguard Worker #define ULACCUM_MAX __ULACCUM_MAX__
316*71db0c75SAndroid Build Coastguard Worker #else
317*71db0c75SAndroid Build Coastguard Worker #define ULACCUM_MAX 0x1.FFFFFFFFFFFFFFFEp+31ULK
318*71db0c75SAndroid Build Coastguard Worker #endif // ULACCUM_MAX
319*71db0c75SAndroid Build Coastguard Worker 
320*71db0c75SAndroid Build Coastguard Worker #ifdef __ULACCUM_EPSILON__
321*71db0c75SAndroid Build Coastguard Worker #define ULACCUM_EPSILON __ULACCUM_EPSILON__
322*71db0c75SAndroid Build Coastguard Worker #else
323*71db0c75SAndroid Build Coastguard Worker #define ULACCUM_EPSILON 0x1.0p-32ULK
324*71db0c75SAndroid Build Coastguard Worker #endif // ULACCUM_EPSILON
325*71db0c75SAndroid Build Coastguard Worker 
326*71db0c75SAndroid Build Coastguard Worker #endif // LIBC_COMPILER_HAS_FIXED_POINT
327*71db0c75SAndroid Build Coastguard Worker 
328*71db0c75SAndroid Build Coastguard Worker #endif // LLVM_LIBC_MACROS_STDFIX_MACROS_H
329