Home | History | Annotate | Download | only in include
      1 // -*- C++ -*-
      2 //===---------------------------- cfenv -----------------------------------===//
      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
     83