xref: /aosp_15_r20/external/libcxx/include/cfenv (revision 58b9f456b02922dfdb1fad8a988d5fd8765ecb80)
1*58b9f456SAndroid Build Coastguard Worker// -*- C++ -*-
2*58b9f456SAndroid Build Coastguard Worker//===---------------------------- cfenv -----------------------------------===//
3*58b9f456SAndroid Build Coastguard Worker//
4*58b9f456SAndroid Build Coastguard Worker//                     The LLVM Compiler Infrastructure
5*58b9f456SAndroid Build Coastguard Worker//
6*58b9f456SAndroid Build Coastguard Worker// This file is dual licensed under the MIT and the University of Illinois Open
7*58b9f456SAndroid Build Coastguard Worker// Source Licenses. See LICENSE.TXT for details.
8*58b9f456SAndroid Build Coastguard Worker//
9*58b9f456SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
10*58b9f456SAndroid Build Coastguard Worker
11*58b9f456SAndroid Build Coastguard Worker#ifndef _LIBCPP_CFENV
12*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_CFENV
13*58b9f456SAndroid Build Coastguard Worker
14*58b9f456SAndroid Build Coastguard Worker/*
15*58b9f456SAndroid Build Coastguard Worker    cfenv synopsis
16*58b9f456SAndroid Build Coastguard Worker
17*58b9f456SAndroid Build Coastguard WorkerThis entire header is C99 / C++0X
18*58b9f456SAndroid Build Coastguard Worker
19*58b9f456SAndroid Build Coastguard WorkerMacros:
20*58b9f456SAndroid Build Coastguard Worker
21*58b9f456SAndroid Build Coastguard Worker    FE_DIVBYZERO
22*58b9f456SAndroid Build Coastguard Worker    FE_INEXACT
23*58b9f456SAndroid Build Coastguard Worker    FE_INVALID
24*58b9f456SAndroid Build Coastguard Worker    FE_OVERFLOW
25*58b9f456SAndroid Build Coastguard Worker    FE_UNDERFLOW
26*58b9f456SAndroid Build Coastguard Worker    FE_ALL_EXCEPT
27*58b9f456SAndroid Build Coastguard Worker    FE_DOWNWARD
28*58b9f456SAndroid Build Coastguard Worker    FE_TONEAREST
29*58b9f456SAndroid Build Coastguard Worker    FE_TOWARDZERO
30*58b9f456SAndroid Build Coastguard Worker    FE_UPWARD
31*58b9f456SAndroid Build Coastguard Worker    FE_DFL_ENV
32*58b9f456SAndroid Build Coastguard Worker
33*58b9f456SAndroid Build Coastguard Workernamespace std
34*58b9f456SAndroid Build Coastguard Worker{
35*58b9f456SAndroid Build Coastguard Worker
36*58b9f456SAndroid Build Coastguard WorkerTypes:
37*58b9f456SAndroid Build Coastguard Worker
38*58b9f456SAndroid Build Coastguard Worker    fenv_t
39*58b9f456SAndroid Build Coastguard Worker    fexcept_t
40*58b9f456SAndroid Build Coastguard Worker
41*58b9f456SAndroid Build Coastguard Workerint feclearexcept(int excepts);
42*58b9f456SAndroid Build Coastguard Workerint fegetexceptflag(fexcept_t* flagp, int excepts);
43*58b9f456SAndroid Build Coastguard Workerint feraiseexcept(int excepts);
44*58b9f456SAndroid Build Coastguard Workerint fesetexceptflag(const fexcept_t* flagp, int excepts);
45*58b9f456SAndroid Build Coastguard Workerint fetestexcept(int excepts);
46*58b9f456SAndroid Build Coastguard Workerint fegetround();
47*58b9f456SAndroid Build Coastguard Workerint fesetround(int round);
48*58b9f456SAndroid Build Coastguard Workerint fegetenv(fenv_t* envp);
49*58b9f456SAndroid Build Coastguard Workerint feholdexcept(fenv_t* envp);
50*58b9f456SAndroid Build Coastguard Workerint fesetenv(const fenv_t* envp);
51*58b9f456SAndroid Build Coastguard Workerint feupdateenv(const fenv_t* envp);
52*58b9f456SAndroid Build Coastguard Worker
53*58b9f456SAndroid Build Coastguard Worker}  // std
54*58b9f456SAndroid Build Coastguard Worker*/
55*58b9f456SAndroid Build Coastguard Worker
56*58b9f456SAndroid Build Coastguard Worker#include <__config>
57*58b9f456SAndroid Build Coastguard Worker#include <fenv.h>
58*58b9f456SAndroid Build Coastguard Worker
59*58b9f456SAndroid Build Coastguard Worker#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
60*58b9f456SAndroid Build Coastguard Worker#pragma GCC system_header
61*58b9f456SAndroid Build Coastguard Worker#endif
62*58b9f456SAndroid Build Coastguard Worker
63*58b9f456SAndroid Build Coastguard Worker_LIBCPP_BEGIN_NAMESPACE_STD
64*58b9f456SAndroid Build Coastguard Worker
65*58b9f456SAndroid Build Coastguard Workerusing ::fenv_t;
66*58b9f456SAndroid Build Coastguard Workerusing ::fexcept_t;
67*58b9f456SAndroid Build Coastguard Worker
68*58b9f456SAndroid Build Coastguard Workerusing ::feclearexcept;
69*58b9f456SAndroid Build Coastguard Workerusing ::fegetexceptflag;
70*58b9f456SAndroid Build Coastguard Workerusing ::feraiseexcept;
71*58b9f456SAndroid Build Coastguard Workerusing ::fesetexceptflag;
72*58b9f456SAndroid Build Coastguard Workerusing ::fetestexcept;
73*58b9f456SAndroid Build Coastguard Workerusing ::fegetround;
74*58b9f456SAndroid Build Coastguard Workerusing ::fesetround;
75*58b9f456SAndroid Build Coastguard Workerusing ::fegetenv;
76*58b9f456SAndroid Build Coastguard Workerusing ::feholdexcept;
77*58b9f456SAndroid Build Coastguard Workerusing ::fesetenv;
78*58b9f456SAndroid Build Coastguard Workerusing ::feupdateenv;
79*58b9f456SAndroid Build Coastguard Worker
80*58b9f456SAndroid Build Coastguard Worker_LIBCPP_END_NAMESPACE_STD
81*58b9f456SAndroid Build Coastguard Worker
82*58b9f456SAndroid Build Coastguard Worker#endif  // _LIBCPP_CFENV
83