xref: /freebsd-12.1/contrib/libc++/include/cfenv (revision 9729cf09)
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