137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// -*- C++ -*- compatibility header. 237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// 537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// This file is part of the GNU ISO C++ Library. This library is free 637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// software; you can redistribute it and/or modify it under the 737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// terms of the GNU General Public License as published by the 837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// Free Software Foundation; either version 3, or (at your option) 937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// any later version. 1037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 1137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// This library is distributed in the hope that it will be useful, 1237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// but WITHOUT ANY WARRANTY; without even the implied warranty of 1337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// GNU General Public License for more details. 1537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 1637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// Under Section 7 of GPL version 3, you are granted additional 1737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// permissions described in the GCC Runtime Library Exception, version 1837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// 3.1, as published by the Free Software Foundation. 1937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 2037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// You should have received a copy of the GNU General Public License and 2137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// a copy of the GCC Runtime Library Exception along with this program; 2237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 2337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// <http://www.gnu.org/licenses/>. 2437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 2537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh/** @file fenv.h 2637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh * This is a Standard C++ Library header. 2737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh */ 2837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 2937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#ifndef _GLIBCXX_FENV_H 3037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#define _GLIBCXX_FENV_H 1 3137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 3237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#pragma GCC system_header 3337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 3437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#include <bits/c++config.h> 3537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#if _GLIBCXX_HAVE_FENV_H 3637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh# include_next <fenv.h> 3737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#endif 3837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 3937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#ifdef __GXX_EXPERIMENTAL_CXX0X__ 4037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 4137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#if _GLIBCXX_USE_C99_FENV_TR1 4237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 4337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef feclearexcept 4437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fegetexceptflag 4537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef feraiseexcept 4637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fesetexceptflag 4737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fetestexcept 4837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fegetround 4937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fesetround 5037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fegetenv 5137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef feholdexcept 5237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fesetenv 5337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef feupdateenv 5437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 5537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsiehnamespace std 5637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh{ 5737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh // types 5837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::fenv_t; 5937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::fexcept_t; 6037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 6137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh // functions 6237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::feclearexcept; 6337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::fegetexceptflag; 6437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::feraiseexcept; 6537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::fesetexceptflag; 6637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::fetestexcept; 6737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 6837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::fegetround; 6937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::fesetround; 7037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 7137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::fegetenv; 7237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::feholdexcept; 7337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::fesetenv; 7437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh using ::feupdateenv; 7537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh} // namespace 7637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 7737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#endif // _GLIBCXX_USE_C99_FENV_TR1 7837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 7937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#endif // __GXX_EXPERIMENTAL_CXX0X__ 8037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh 8137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#endif // _GLIBCXX_FENV_H 82