// -*- C++ -*- //===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef _LIBCPP_FENV_H #define _LIBCPP_FENV_H /* fenv.h synopsis This entire header is C99 / C++0X Macros: FE_DIVBYZERO FE_INEXACT FE_INVALID FE_OVERFLOW FE_UNDERFLOW FE_ALL_EXCEPT FE_DOWNWARD FE_TONEAREST FE_TOWARDZERO FE_UPWARD FE_DFL_ENV Types: fenv_t fexcept_t int feclearexcept(int excepts); int fegetexceptflag(fexcept_t* flagp, int excepts); int feraiseexcept(int excepts); int fesetexceptflag(const fexcept_t* flagp, int excepts); int fetestexcept(int excepts); int fegetround(); int fesetround(int round); int fegetenv(fenv_t* envp); int feholdexcept(fenv_t* envp); int fesetenv(const fenv_t* envp); int feupdateenv(const fenv_t* envp); */ #include <__config> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header #endif #include_next #ifdef __cplusplus extern "C++" { #ifdef feclearexcept #undef feclearexcept #endif #ifdef fegetexceptflag #undef fegetexceptflag #endif #ifdef feraiseexcept #undef feraiseexcept #endif #ifdef fesetexceptflag #undef fesetexceptflag #endif #ifdef fetestexcept #undef fetestexcept #endif #ifdef fegetround #undef fegetround #endif #ifdef fesetround #undef fesetround #endif #ifdef fegetenv #undef fegetenv #endif #ifdef feholdexcept #undef feholdexcept #endif #ifdef fesetenv #undef fesetenv #endif #ifdef feupdateenv #undef feupdateenv #endif } // extern "C++" #endif // defined(__cplusplus) #endif // _LIBCPP_FENV_H