]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/libc++/include/cfenv
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / libc++ / include / cfenv
1 // -*- C++ -*-
2 //===---------------------------- cctype ----------------------------------===//
3 //
4 //                     The LLVM Compiler Infrastructure
5 //
6 // This file is dual licensed under the MIT and the University of Illinois Open
7 // Source Licenses. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10
11 #ifndef _LIBCPP_CFENV
12 #define _LIBCPP_CFENV
13
14 /*
15     cfenv synopsis
16
17 This entire header is C99 / C++0X
18
19 Macros:
20
21     FE_DIVBYZERO
22     FE_INEXACT
23     FE_INVALID
24     FE_OVERFLOW
25     FE_UNDERFLOW
26     FE_ALL_EXCEPT
27     FE_DOWNWARD
28     FE_TONEAREST
29     FE_TOWARDZERO
30     FE_UPWARD
31     FE_DFL_ENV
32
33 namespace std
34 {
35
36 Types:
37
38     fenv_t
39     fexcept_t
40
41 int feclearexcept(int excepts);
42 int fegetexceptflag(fexcept_t* flagp, int excepts);
43 int feraiseexcept(int excepts);
44 int fesetexceptflag(const fexcept_t* flagp, int excepts);
45 int fetestexcept(int excepts);
46 int fegetround();
47 int fesetround(int round);
48 int fegetenv(fenv_t* envp);
49 int feholdexcept(fenv_t* envp);
50 int fesetenv(const fenv_t* envp);
51 int feupdateenv(const fenv_t* envp);
52
53 }  // std
54 */
55
56 #include <__config>
57 #include <fenv.h>
58
59 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
60 #pragma GCC system_header
61 #endif
62
63 _LIBCPP_BEGIN_NAMESPACE_STD
64
65 using ::fenv_t;
66 using ::fexcept_t;
67
68 using ::feclearexcept;
69 using ::fegetexceptflag;
70 using ::feraiseexcept;
71 using ::fesetexceptflag;
72 using ::fetestexcept;
73 using ::fegetround;
74 using ::fesetround;
75 using ::fegetenv;
76 using ::feholdexcept;
77 using ::fesetenv;
78 using ::feupdateenv;
79
80 _LIBCPP_END_NAMESPACE_STD
81
82 #endif  // _LIBCPP_CFENV