17a984708SDavid Chisnall// -*- C++ -*- 2*9729cf09SDimitry Andric//===---------------------------- cfenv -----------------------------------===// 37a984708SDavid Chisnall// 47a984708SDavid Chisnall// The LLVM Compiler Infrastructure 57a984708SDavid Chisnall// 67a984708SDavid Chisnall// This file is dual licensed under the MIT and the University of Illinois Open 77a984708SDavid Chisnall// Source Licenses. See LICENSE.TXT for details. 87a984708SDavid Chisnall// 97a984708SDavid Chisnall//===----------------------------------------------------------------------===// 107a984708SDavid Chisnall 117a984708SDavid Chisnall#ifndef _LIBCPP_CFENV 127a984708SDavid Chisnall#define _LIBCPP_CFENV 137a984708SDavid Chisnall 147a984708SDavid Chisnall/* 157a984708SDavid Chisnall cfenv synopsis 167a984708SDavid Chisnall 177a984708SDavid ChisnallThis entire header is C99 / C++0X 187a984708SDavid Chisnall 197a984708SDavid ChisnallMacros: 207a984708SDavid Chisnall 217a984708SDavid Chisnall FE_DIVBYZERO 227a984708SDavid Chisnall FE_INEXACT 237a984708SDavid Chisnall FE_INVALID 247a984708SDavid Chisnall FE_OVERFLOW 257a984708SDavid Chisnall FE_UNDERFLOW 267a984708SDavid Chisnall FE_ALL_EXCEPT 277a984708SDavid Chisnall FE_DOWNWARD 287a984708SDavid Chisnall FE_TONEAREST 297a984708SDavid Chisnall FE_TOWARDZERO 307a984708SDavid Chisnall FE_UPWARD 317a984708SDavid Chisnall FE_DFL_ENV 327a984708SDavid Chisnall 337a984708SDavid Chisnallnamespace std 347a984708SDavid Chisnall{ 357a984708SDavid Chisnall 367a984708SDavid ChisnallTypes: 377a984708SDavid Chisnall 387a984708SDavid Chisnall fenv_t 397a984708SDavid Chisnall fexcept_t 407a984708SDavid Chisnall 417a984708SDavid Chisnallint feclearexcept(int excepts); 427a984708SDavid Chisnallint fegetexceptflag(fexcept_t* flagp, int excepts); 437a984708SDavid Chisnallint feraiseexcept(int excepts); 447a984708SDavid Chisnallint fesetexceptflag(const fexcept_t* flagp, int excepts); 457a984708SDavid Chisnallint fetestexcept(int excepts); 467a984708SDavid Chisnallint fegetround(); 477a984708SDavid Chisnallint fesetround(int round); 487a984708SDavid Chisnallint fegetenv(fenv_t* envp); 497a984708SDavid Chisnallint feholdexcept(fenv_t* envp); 507a984708SDavid Chisnallint fesetenv(const fenv_t* envp); 517a984708SDavid Chisnallint feupdateenv(const fenv_t* envp); 527a984708SDavid Chisnall 537a984708SDavid Chisnall} // std 547a984708SDavid Chisnall*/ 557a984708SDavid Chisnall 567a984708SDavid Chisnall#include <__config> 577a984708SDavid Chisnall#include <fenv.h> 587a984708SDavid Chisnall 597a984708SDavid Chisnall#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 607a984708SDavid Chisnall#pragma GCC system_header 617a984708SDavid Chisnall#endif 627a984708SDavid Chisnall 637a984708SDavid Chisnall_LIBCPP_BEGIN_NAMESPACE_STD 647a984708SDavid Chisnall 657a984708SDavid Chisnallusing ::fenv_t; 667a984708SDavid Chisnallusing ::fexcept_t; 677a984708SDavid Chisnall 687a984708SDavid Chisnallusing ::feclearexcept; 697a984708SDavid Chisnallusing ::fegetexceptflag; 707a984708SDavid Chisnallusing ::feraiseexcept; 717a984708SDavid Chisnallusing ::fesetexceptflag; 727a984708SDavid Chisnallusing ::fetestexcept; 737a984708SDavid Chisnallusing ::fegetround; 747a984708SDavid Chisnallusing ::fesetround; 757a984708SDavid Chisnallusing ::fegetenv; 767a984708SDavid Chisnallusing ::feholdexcept; 777a984708SDavid Chisnallusing ::fesetenv; 787a984708SDavid Chisnallusing ::feupdateenv; 797a984708SDavid Chisnall 807a984708SDavid Chisnall_LIBCPP_END_NAMESPACE_STD 817a984708SDavid Chisnall 827a984708SDavid Chisnall#endif // _LIBCPP_CFENV 83