1*0b57cec5SDimitry Andric// -*- C++ -*- 2*0b57cec5SDimitry Andric//===---------------------------- cfenv -----------------------------------===// 3*0b57cec5SDimitry Andric// 4*0b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*0b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 6*0b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*0b57cec5SDimitry Andric// 8*0b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 9*0b57cec5SDimitry Andric 10*0b57cec5SDimitry Andric#ifndef _LIBCPP_CFENV 11*0b57cec5SDimitry Andric#define _LIBCPP_CFENV 12*0b57cec5SDimitry Andric 13*0b57cec5SDimitry Andric/* 14*0b57cec5SDimitry Andric cfenv synopsis 15*0b57cec5SDimitry Andric 16*0b57cec5SDimitry AndricThis entire header is C99 / C++0X 17*0b57cec5SDimitry Andric 18*0b57cec5SDimitry AndricMacros: 19*0b57cec5SDimitry Andric 20*0b57cec5SDimitry Andric FE_DIVBYZERO 21*0b57cec5SDimitry Andric FE_INEXACT 22*0b57cec5SDimitry Andric FE_INVALID 23*0b57cec5SDimitry Andric FE_OVERFLOW 24*0b57cec5SDimitry Andric FE_UNDERFLOW 25*0b57cec5SDimitry Andric FE_ALL_EXCEPT 26*0b57cec5SDimitry Andric FE_DOWNWARD 27*0b57cec5SDimitry Andric FE_TONEAREST 28*0b57cec5SDimitry Andric FE_TOWARDZERO 29*0b57cec5SDimitry Andric FE_UPWARD 30*0b57cec5SDimitry Andric FE_DFL_ENV 31*0b57cec5SDimitry Andric 32*0b57cec5SDimitry Andricnamespace std 33*0b57cec5SDimitry Andric{ 34*0b57cec5SDimitry Andric 35*0b57cec5SDimitry AndricTypes: 36*0b57cec5SDimitry Andric 37*0b57cec5SDimitry Andric fenv_t 38*0b57cec5SDimitry Andric fexcept_t 39*0b57cec5SDimitry Andric 40*0b57cec5SDimitry Andricint feclearexcept(int excepts); 41*0b57cec5SDimitry Andricint fegetexceptflag(fexcept_t* flagp, int excepts); 42*0b57cec5SDimitry Andricint feraiseexcept(int excepts); 43*0b57cec5SDimitry Andricint fesetexceptflag(const fexcept_t* flagp, int excepts); 44*0b57cec5SDimitry Andricint fetestexcept(int excepts); 45*0b57cec5SDimitry Andricint fegetround(); 46*0b57cec5SDimitry Andricint fesetround(int round); 47*0b57cec5SDimitry Andricint fegetenv(fenv_t* envp); 48*0b57cec5SDimitry Andricint feholdexcept(fenv_t* envp); 49*0b57cec5SDimitry Andricint fesetenv(const fenv_t* envp); 50*0b57cec5SDimitry Andricint feupdateenv(const fenv_t* envp); 51*0b57cec5SDimitry Andric 52*0b57cec5SDimitry Andric} // std 53*0b57cec5SDimitry Andric*/ 54*0b57cec5SDimitry Andric 55*0b57cec5SDimitry Andric#include <__config> 56*0b57cec5SDimitry Andric#include <fenv.h> 57*0b57cec5SDimitry Andric 58*0b57cec5SDimitry Andric#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 59*0b57cec5SDimitry Andric#pragma GCC system_header 60*0b57cec5SDimitry Andric#endif 61*0b57cec5SDimitry Andric 62*0b57cec5SDimitry Andric_LIBCPP_BEGIN_NAMESPACE_STD 63*0b57cec5SDimitry Andric 64*0b57cec5SDimitry Andricusing ::fenv_t; 65*0b57cec5SDimitry Andricusing ::fexcept_t; 66*0b57cec5SDimitry Andric 67*0b57cec5SDimitry Andricusing ::feclearexcept; 68*0b57cec5SDimitry Andricusing ::fegetexceptflag; 69*0b57cec5SDimitry Andricusing ::feraiseexcept; 70*0b57cec5SDimitry Andricusing ::fesetexceptflag; 71*0b57cec5SDimitry Andricusing ::fetestexcept; 72*0b57cec5SDimitry Andricusing ::fegetround; 73*0b57cec5SDimitry Andricusing ::fesetround; 74*0b57cec5SDimitry Andricusing ::fegetenv; 75*0b57cec5SDimitry Andricusing ::feholdexcept; 76*0b57cec5SDimitry Andricusing ::fesetenv; 77*0b57cec5SDimitry Andricusing ::feupdateenv; 78*0b57cec5SDimitry Andric 79*0b57cec5SDimitry Andric_LIBCPP_END_NAMESPACE_STD 80*0b57cec5SDimitry Andric 81*0b57cec5SDimitry Andric#endif // _LIBCPP_CFENV 82