1//===-- Floating point math functions ---------------------------*- C++ -*-===//
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#ifndef LLVM_LIBC_SHARED_MATH_H
10#define LLVM_LIBC_SHARED_MATH_H
11
12#include "libc_common.h"
13
14#include "math/acos.h"
15#include "math/acosbf16.h"
16#include "math/acosf.h"
17#include "math/acosf16.h"
18#include "math/acoshf.h"
19#include "math/acoshf16.h"
20#include "math/acospif.h"
21#include "math/acospif16.h"
22#include "math/asin.h"
23#include "math/asinbf16.h"
24#include "math/asinf.h"
25#include "math/asinf16.h"
26#include "math/asinhf.h"
27#include "math/asinhf16.h"
28#include "math/asinpi.h"
29#include "math/asinpif.h"
30#include "math/asinpif16.h"
31#include "math/atan.h"
32#include "math/atan2.h"
33#include "math/atan2f.h"
34#include "math/atan2f128.h"
35#include "math/atan2f16.h"
36#include "math/atanbf16.h"
37#include "math/atanf.h"
38#include "math/atanf16.h"
39#include "math/atanhf.h"
40#include "math/atanhf16.h"
41#include "math/atanpif16.h"
42#include "math/bf16add.h"
43#include "math/bf16addf.h"
44#include "math/bf16addf128.h"
45#include "math/bf16addl.h"
46#include "math/bf16div.h"
47#include "math/bf16divf.h"
48#include "math/bf16divf128.h"
49#include "math/bf16divl.h"
50#include "math/bf16fma.h"
51#include "math/bf16fmaf.h"
52#include "math/bf16fmaf128.h"
53#include "math/bf16fmal.h"
54#include "math/bf16mul.h"
55#include "math/bf16mulf.h"
56#include "math/bf16mulf128.h"
57#include "math/bf16mull.h"
58#include "math/bf16sub.h"
59#include "math/bf16subf.h"
60#include "math/bf16subf128.h"
61#include "math/bf16subl.h"
62#include "math/canonicalize.h"
63#include "math/canonicalizebf16.h"
64#include "math/canonicalizef.h"
65#include "math/canonicalizef128.h"
66#include "math/canonicalizef16.h"
67#include "math/canonicalizel.h"
68#include "math/cbrt.h"
69#include "math/cbrtbf16.h"
70#include "math/cbrtf.h"
71#include "math/cbrtf16.h"
72#include "math/ceil.h"
73#include "math/ceilbf16.h"
74#include "math/ceilf.h"
75#include "math/ceilf128.h"
76#include "math/ceilf16.h"
77#include "math/ceill.h"
78#include "math/copysign.h"
79#include "math/copysignbf16.h"
80#include "math/copysignf.h"
81#include "math/copysignf128.h"
82#include "math/copysignf16.h"
83#include "math/copysignl.h"
84#include "math/cos.h"
85#include "math/cosf.h"
86#include "math/cosf16.h"
87#include "math/coshf.h"
88#include "math/coshf16.h"
89#include "math/cospif.h"
90#include "math/cospif16.h"
91#include "math/daddf128.h"
92#include "math/daddl.h"
93#include "math/ddivf128.h"
94#include "math/ddivl.h"
95#include "math/dfmaf128.h"
96#include "math/dfmal.h"
97#include "math/dmulf128.h"
98#include "math/dmull.h"
99#include "math/dsqrtf128.h"
100#include "math/dsqrtl.h"
101#include "math/dsubf128.h"
102#include "math/dsubl.h"
103#include "math/erfcf16.h"
104#include "math/erff.h"
105#include "math/erff16.h"
106#include "math/exp.h"
107#include "math/exp10.h"
108#include "math/exp10f.h"
109#include "math/exp10f16.h"
110#include "math/exp10m1f.h"
111#include "math/exp10m1f16.h"
112#include "math/exp2.h"
113#include "math/exp2f.h"
114#include "math/exp2f16.h"
115#include "math/exp2m1f.h"
116#include "math/exp2m1f16.h"
117#include "math/expbf16.h"
118#include "math/expf.h"
119#include "math/expf16.h"
120#include "math/expm1.h"
121#include "math/expm1f.h"
122#include "math/expm1f16.h"
123#include "math/f16add.h"
124#include "math/f16addf.h"
125#include "math/f16addf128.h"
126#include "math/f16addl.h"
127#include "math/f16div.h"
128#include "math/f16divf.h"
129#include "math/f16divf128.h"
130#include "math/f16divl.h"
131#include "math/f16fma.h"
132#include "math/f16fmaf.h"
133#include "math/f16fmaf128.h"
134#include "math/f16fmal.h"
135#include "math/f16mul.h"
136#include "math/f16mulf.h"
137#include "math/f16mulf128.h"
138#include "math/f16mull.h"
139#include "math/f16sqrt.h"
140#include "math/f16sqrtf.h"
141#include "math/f16sqrtf128.h"
142#include "math/f16sqrtl.h"
143#include "math/f16sub.h"
144#include "math/f16subf.h"
145#include "math/f16subf128.h"
146#include "math/f16subl.h"
147#include "math/fabs.h"
148#include "math/fabsbf16.h"
149#include "math/fabsf.h"
150#include "math/fabsf128.h"
151#include "math/fabsf16.h"
152#include "math/fabsl.h"
153#include "math/fadd.h"
154#include "math/faddf128.h"
155#include "math/faddl.h"
156#include "math/fdim.h"
157#include "math/fdimbf16.h"
158#include "math/fdimf.h"
159#include "math/fdimf128.h"
160#include "math/fdimf16.h"
161#include "math/fdiml.h"
162#include "math/fdiv.h"
163#include "math/fdivf128.h"
164#include "math/fdivl.h"
165#include "math/ffma.h"
166#include "math/ffmaf128.h"
167#include "math/ffmal.h"
168#include "math/floor.h"
169#include "math/floorbf16.h"
170#include "math/floorf.h"
171#include "math/floorf128.h"
172#include "math/floorf16.h"
173#include "math/floorl.h"
174#include "math/fma.h"
175#include "math/fmabf16.h"
176#include "math/fmaf.h"
177#include "math/fmaf16.h"
178#include "math/fmax.h"
179#include "math/fmaxbf16.h"
180#include "math/fmaxf.h"
181#include "math/fmaxf128.h"
182#include "math/fmaxf16.h"
183#include "math/fmaximum.h"
184#include "math/fmaximum_mag.h"
185#include "math/fmaximum_mag_num.h"
186#include "math/fmaximum_mag_numbf16.h"
187#include "math/fmaximum_mag_numf.h"
188#include "math/fmaximum_mag_numf128.h"
189#include "math/fmaximum_mag_numf16.h"
190#include "math/fmaximum_mag_numl.h"
191#include "math/fmaximum_magbf16.h"
192#include "math/fmaximum_magf.h"
193#include "math/fmaximum_magf128.h"
194#include "math/fmaximum_magf16.h"
195#include "math/fmaximum_magl.h"
196#include "math/fmaximum_num.h"
197#include "math/fmaximum_numbf16.h"
198#include "math/fmaximum_numf.h"
199#include "math/fmaximum_numf128.h"
200#include "math/fmaximum_numf16.h"
201#include "math/fmaximum_numl.h"
202#include "math/fmaximumbf16.h"
203#include "math/fmaximumf.h"
204#include "math/fmaximumf128.h"
205#include "math/fmaximumf16.h"
206#include "math/fmaximuml.h"
207#include "math/fmaxl.h"
208#include "math/fmin.h"
209#include "math/fminbf16.h"
210#include "math/fminf.h"
211#include "math/fminf128.h"
212#include "math/fminf16.h"
213#include "math/fminimum.h"
214#include "math/fminimum_mag.h"
215#include "math/fminimum_mag_num.h"
216#include "math/fminimum_mag_numbf16.h"
217#include "math/fminimum_mag_numf.h"
218#include "math/fminimum_mag_numf128.h"
219#include "math/fminimum_mag_numf16.h"
220#include "math/fminimum_mag_numl.h"
221#include "math/fminimum_magbf16.h"
222#include "math/fminimum_magf.h"
223#include "math/fminimum_magf128.h"
224#include "math/fminimum_magf16.h"
225#include "math/fminimum_magl.h"
226#include "math/fminimum_num.h"
227#include "math/fminimum_numbf16.h"
228#include "math/fminimum_numf.h"
229#include "math/fminimum_numf128.h"
230#include "math/fminimum_numf16.h"
231#include "math/fminimum_numl.h"
232#include "math/fminimumbf16.h"
233#include "math/fminimumf.h"
234#include "math/fminimumf128.h"
235#include "math/fminimumf16.h"
236#include "math/fminimuml.h"
237#include "math/fminl.h"
238#include "math/fmod.h"
239#include "math/fmodbf16.h"
240#include "math/fmodf.h"
241#include "math/fmodf128.h"
242#include "math/fmodf16.h"
243#include "math/fmodl.h"
244#include "math/fmul.h"
245#include "math/fmulf128.h"
246#include "math/fmull.h"
247#include "math/frexp.h"
248#include "math/frexpbf16.h"
249#include "math/frexpf.h"
250#include "math/frexpf128.h"
251#include "math/frexpf16.h"
252#include "math/frexpl.h"
253#include "math/fromfp.h"
254#include "math/fromfpbf16.h"
255#include "math/fromfpf.h"
256#include "math/fromfpf128.h"
257#include "math/fromfpf16.h"
258#include "math/fromfpl.h"
259#include "math/fromfpx.h"
260#include "math/fromfpxbf16.h"
261#include "math/fromfpxf.h"
262#include "math/fromfpxf128.h"
263#include "math/fromfpxf16.h"
264#include "math/fromfpxl.h"
265#include "math/fsqrt.h"
266#include "math/fsqrtf128.h"
267#include "math/fsqrtl.h"
268#include "math/fsub.h"
269#include "math/fsubf128.h"
270#include "math/fsubl.h"
271#include "math/getpayload.h"
272#include "math/getpayloadbf16.h"
273#include "math/getpayloadf.h"
274#include "math/getpayloadf128.h"
275#include "math/getpayloadf16.h"
276#include "math/getpayloadl.h"
277#include "math/hypot.h"
278#include "math/hypotbf16.h"
279#include "math/hypotf.h"
280#include "math/hypotf16.h"
281#include "math/ilogb.h"
282#include "math/ilogbbf16.h"
283#include "math/ilogbf.h"
284#include "math/ilogbf128.h"
285#include "math/ilogbf16.h"
286#include "math/ilogbl.h"
287// TODO: iscanonical is a macro in <math.h>
288// #include "math/iscanonical.h"
289#include "math/iscanonicalbf16.h"
290#include "math/iscanonicalf.h"
291#include "math/iscanonicalf128.h"
292#include "math/iscanonicalf16.h"
293#include "math/iscanonicall.h"
294// TODO: isnan is a macro in <math.h>
295// #include "math/isnan.h"
296#include "math/isnanf.h"
297#include "math/isnanf128.h"
298#include "math/isnanf16.h"
299#include "math/isnanl.h"
300// TODO: issignaling is a macro in <math.h>
301// #include "math/issignaling.h"
302#include "math/issignalingbf16.h"
303#include "math/issignalingf.h"
304#include "math/issignalingf128.h"
305#include "math/issignalingf16.h"
306#include "math/issignalingl.h"
307#include "math/ldexp.h"
308#include "math/ldexpbf16.h"
309#include "math/ldexpf.h"
310#include "math/ldexpf128.h"
311#include "math/ldexpf16.h"
312#include "math/ldexpl.h"
313#include "math/llogb.h"
314#include "math/llogbbf16.h"
315#include "math/llogbf.h"
316#include "math/llogbf128.h"
317#include "math/llogbf16.h"
318#include "math/llogbl.h"
319#include "math/llrint.h"
320#include "math/llrintbf16.h"
321#include "math/llrintf.h"
322#include "math/llrintf128.h"
323#include "math/llrintf16.h"
324#include "math/llrintl.h"
325#include "math/llround.h"
326#include "math/llroundbf16.h"
327#include "math/llroundf.h"
328#include "math/llroundf128.h"
329#include "math/llroundf16.h"
330#include "math/llroundl.h"
331#include "math/log.h"
332#include "math/log10.h"
333#include "math/log10f.h"
334#include "math/log10f16.h"
335#include "math/log10p1f16.h"
336#include "math/log1p.h"
337#include "math/log1pf.h"
338#include "math/log2.h"
339#include "math/log2f.h"
340#include "math/log2f16.h"
341#include "math/log2p1f16.h"
342#include "math/log_bf16.h"
343#include "math/logb.h"
344#include "math/logbbf16.h"
345#include "math/logbf.h"
346#include "math/logbf128.h"
347#include "math/logbf16.h"
348#include "math/logbl.h"
349#include "math/logf.h"
350#include "math/logf16.h"
351#include "math/lrint.h"
352#include "math/lrintbf16.h"
353#include "math/lrintf.h"
354#include "math/lrintf128.h"
355#include "math/lrintf16.h"
356#include "math/lrintl.h"
357#include "math/lround.h"
358#include "math/lroundbf16.h"
359#include "math/lroundf.h"
360#include "math/lroundf128.h"
361#include "math/lroundf16.h"
362#include "math/lroundl.h"
363#include "math/modf.h"
364#include "math/modfbf16.h"
365#include "math/modff.h"
366#include "math/modff128.h"
367#include "math/modff16.h"
368#include "math/modfl.h"
369#include "math/nan.h"
370#include "math/nanbf16.h"
371#include "math/nanf.h"
372#include "math/nanf128.h"
373#include "math/nanf16.h"
374#include "math/nanl.h"
375#include "math/nearbyint.h"
376#include "math/nearbyintbf16.h"
377#include "math/nearbyintf.h"
378#include "math/nearbyintf128.h"
379#include "math/nearbyintf16.h"
380#include "math/nearbyintl.h"
381#include "math/nextafter.h"
382#include "math/nextafterbf16.h"
383#include "math/nextafterf.h"
384#include "math/nextafterf128.h"
385#include "math/nextafterf16.h"
386#include "math/nextafterl.h"
387#include "math/nextdown.h"
388#include "math/nextdownbf16.h"
389#include "math/nextdownf.h"
390#include "math/nextdownf128.h"
391#include "math/nextdownf16.h"
392#include "math/nextdownl.h"
393#include "math/nexttoward.h"
394#include "math/nexttowardbf16.h"
395#include "math/nexttowardf.h"
396#include "math/nexttowardf16.h"
397#include "math/nexttowardl.h"
398#include "math/nextup.h"
399#include "math/nextupbf16.h"
400#include "math/nextupf.h"
401#include "math/nextupf128.h"
402#include "math/nextupf16.h"
403#include "math/nextupl.h"
404#include "math/pow.h"
405#include "math/powf.h"
406#include "math/remainder.h"
407#include "math/remainderbf16.h"
408#include "math/remainderf.h"
409#include "math/remainderf128.h"
410#include "math/remainderf16.h"
411#include "math/remainderl.h"
412#include "math/remquo.h"
413#include "math/remquobf16.h"
414#include "math/remquof.h"
415#include "math/remquof128.h"
416#include "math/remquof16.h"
417#include "math/remquol.h"
418#include "math/rint.h"
419#include "math/rintbf16.h"
420#include "math/rintf.h"
421#include "math/rintf128.h"
422#include "math/rintf16.h"
423#include "math/rintl.h"
424#include "math/round.h"
425#include "math/roundbf16.h"
426#include "math/roundeven.h"
427#include "math/roundevenbf16.h"
428#include "math/roundevenf.h"
429#include "math/roundevenf128.h"
430#include "math/roundevenf16.h"
431#include "math/roundevenl.h"
432#include "math/roundf.h"
433#include "math/roundf128.h"
434#include "math/roundf16.h"
435#include "math/roundl.h"
436#include "math/rsqrtf.h"
437#include "math/rsqrtf16.h"
438#include "math/scalbln.h"
439#include "math/scalblnbf16.h"
440#include "math/scalblnf.h"
441#include "math/scalblnf128.h"
442#include "math/scalblnf16.h"
443#include "math/scalblnl.h"
444#include "math/scalbn.h"
445#include "math/scalbnbf16.h"
446#include "math/scalbnf.h"
447#include "math/scalbnf128.h"
448#include "math/scalbnf16.h"
449#include "math/scalbnl.h"
450#include "math/setpayload.h"
451#include "math/setpayloadbf16.h"
452#include "math/setpayloadf.h"
453#include "math/setpayloadf128.h"
454#include "math/setpayloadf16.h"
455#include "math/setpayloadl.h"
456#include "math/setpayloadsig.h"
457#include "math/setpayloadsigbf16.h"
458#include "math/setpayloadsigf.h"
459#include "math/setpayloadsigf128.h"
460#include "math/setpayloadsigf16.h"
461#include "math/setpayloadsigl.h"
462#include "math/sin.h"
463#include "math/sincos.h"
464#include "math/sincosf.h"
465#include "math/sinf.h"
466#include "math/sinf16.h"
467#include "math/sinhf.h"
468#include "math/sinhf16.h"
469#include "math/sinpif.h"
470#include "math/sinpif16.h"
471#include "math/sqrt.h"
472#include "math/sqrtbf16.h"
473#include "math/sqrtf.h"
474#include "math/sqrtf128.h"
475#include "math/sqrtf16.h"
476#include "math/sqrtl.h"
477#include "math/tan.h"
478#include "math/tanbf16.h"
479#include "math/tanf.h"
480#include "math/tanf16.h"
481#include "math/tanhf.h"
482#include "math/tanhf16.h"
483#include "math/tanpif.h"
484#include "math/tanpif16.h"
485#include "math/totalorder.h"
486#include "math/totalorderbf16.h"
487#include "math/totalorderf.h"
488#include "math/totalorderf128.h"
489#include "math/totalorderf16.h"
490#include "math/totalorderl.h"
491#include "math/totalordermag.h"
492#include "math/totalordermagbf16.h"
493#include "math/totalordermagf.h"
494#include "math/totalordermagf128.h"
495#include "math/totalordermagf16.h"
496#include "math/totalordermagl.h"
497#include "math/trunc.h"
498#include "math/truncbf16.h"
499#include "math/truncf.h"
500#include "math/truncf128.h"
501#include "math/truncf16.h"
502#include "math/truncl.h"
503#include "math/ufromfp.h"
504#include "math/ufromfpbf16.h"
505#include "math/ufromfpf.h"
506#include "math/ufromfpf128.h"
507#include "math/ufromfpf16.h"
508#include "math/ufromfpl.h"
509#include "math/ufromfpx.h"
510#include "math/ufromfpxbf16.h"
511#include "math/ufromfpxf.h"
512#include "math/ufromfpxf128.h"
513#include "math/ufromfpxf16.h"
514#include "math/ufromfpxl.h"
515
516#endif // LLVM_LIBC_SHARED_MATH_H
517