// -*- C++ -*- header wrapper. // Copyright (C) 1997-1999 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the // terms of the GNU General Public License as published by the // Free Software Foundation; either version 2, or (at your option) // any later version. // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License along // with this library; see the file COPYING. If not, write to the Free // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, // USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate // templates or use macros or inline functions from this file, or you compile // this file and link it with other files to produce an executable, this // file does not by itself cause the resulting executable to be covered by // the GNU General Public License. This exception does not however // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. // // ISO C++ 14882: 18.2.2 Implementation properties: C library // #ifndef _CPP_CFLOAT #define _CPP_CFLOAT 1 #if 0 /* 1998-09-29 */ # ifdef __GLIBC__ // For GNU libc we must also include this one: # include # endif #endif namespace _C_legacy { extern "C" { # define _IN_C_LEGACY_ # pragma GCC system_header # include_next } inline int _CPP_FLT_ROUNDS_capture() { return FLT_ROUNDS; } // FLT_RADIX is OK as-is. // const int _CPP_FLT_RADIX_capture() { return FLT_RADIX; } inline int _CPP_FLT_MANT_DIG_capture() { return FLT_MANT_DIG; } inline int _CPP_DBL_MANT_DIG_capture() { return DBL_MANT_DIG; } inline int _CPP_LDBL_MANT_DIG_capture() { return LDBL_MANT_DIG; } inline int _CPP_FLT_DIG_capture() { return FLT_DIG; } inline int _CPP_DBL_DIG_capture() { return DBL_DIG; } inline int _CPP_LDBL_DIG_capture() { return LDBL_DIG; } inline int _CPP_FLT_MIN_EXP_capture() { return FLT_MIN_EXP; } inline int _CPP_DBL_MIN_EXP_capture() { return DBL_MIN_EXP; } inline int _CPP_LDBL_MIN_EXP_capture() { return LDBL_MIN_EXP; } inline int _CPP_FLT_MIN_10_EXP_capture() { return FLT_MIN_10_EXP; } inline int _CPP_DBL_MIN_10_EXP_capture() { return DBL_MIN_10_EXP; } inline int _CPP_LDBL_MIN_10_EXP_capture() { return LDBL_MIN_10_EXP; } inline int _CPP_FLT_MAX_EXP_capture() { return FLT_MAX_EXP; } inline int _CPP_DBL_MAX_EXP_capture() { return DBL_MAX_EXP; } inline int _CPP_LDBL_MAX_EXP_capture() { return LDBL_MAX_EXP; } inline int _CPP_FLT_MAX_10_EXP_capture() { return FLT_MAX_10_EXP; } inline int _CPP_DBL_MAX_10_EXP_capture() { return DBL_MAX_10_EXP; } inline int _CPP_LDBL_MAX_10_EXP_capture() { return LDBL_MAX_10_EXP; } inline float _CPP_FLT_MAX_capture() { return FLT_MAX; } inline double _CPP_DBL_MAX_capture() { return DBL_MAX; } inline long double _CPP_LDBL_MAX_capture() { return LDBL_MAX; } inline float _CPP_FLT_EPSILON_capture() { return FLT_EPSILON; } inline double _CPP_DBL_EPSILON_capture() { return DBL_EPSILON; } inline long double _CPP_LDBL_EPSILON_capture() { return LDBL_EPSILON; } inline float _CPP_FLT_MIN_capture() { return FLT_MIN; } inline double _CPP_DBL_MIN_capture() { return DBL_MIN; } inline long double _CPP_LDBL_MIN_capture() { return LDBL_MIN; } namespace _C_shadow { } } // close namespace ::_C_legacy:: # undef FLT_ROUNDS # define FLT_ROUNDS ::_C_legacy::_CPP_FLT_ROUNDS_capture() // # undef FLT_RADIX // OK as-is. # undef FLT_MANT_DIG # define FLT_MANT_DIG ::_C_legacy::_CPP_FLT_MANT_DIG_capture() # undef DBL_MANT_DIG # define DBL_MANT_DIG ::_C_legacy::_CPP_DBL_MANT_DIG_capture() # undef LDBL_MANT_DIG # define LDBL_MANT_DIG ::_C_legacy::_CPP_LDBL_MANT_DIG_capture() # undef FLT_DIG # define FLT_DIG ::_C_legacy::_CPP_FLT_DIG_capture() # undef DBL_DIG # define DBL_DIG ::_C_legacy::_CPP_DBL_DIG_capture() # undef LDBL_DIG # define LDBL_DIG ::_C_legacy::_CPP_LDBL_DIG_capture() # undef FLT_MIN_MIN_DIG # define FLT_MIN_MIN_DIG ::_C_legacy::_CPP_FLT_MIN_MIN_DIG_capture() # undef DBL_MIN_MIN_DIG # define DBL_MIN_MIN_DIG ::_C_legacy::_CPP_DBL_MIN_MIN_DIG_capture() # undef LDBL_MIN_MIN_DIG # define LDBL_MIN_MIN_DIG ::_C_legacy::_CPP_LDBL_MIN_MIN_DIG_capture() # undef FLT_MIN_EXP # define FLT_MIN_EXP ::_C_legacy::_CPP_FLT_MIN_EXP_capture() # undef DBL_MIN_EXP # define DBL_MIN_EXP ::_C_legacy::_CPP_DBL_MIN_EXP_capture() # undef LDBL_MIN_EXP # define LDBL_MIN_EXP ::_C_legacy::_CPP_LDBL_MIN_EXP_capture() # undef FLT_MIN_10_EXP # define FLT_MIN_10_EXP ::_C_legacy::_CPP_FLT_MIN_10_EXP_capture() # undef DBL_MIN_10_EXP # define DBL_MIN_10_EXP _::_C_legacy::CPP_DBL_MIN_10_EXP_capture() # undef LDBL_MIN_10_EXP # define LDBL_MIN_10_EXP ::_C_legacy::_CPP_LDBL_MIN_10_EXP_capture() # undef FLT_MAX_EXP # define FLT_MAX_EXP ::_C_legacy::_CPP_FLT_MAX_EXP_capture() # undef DBL_MAX_EXP # define DBL_MAX_EXP ::_C_legacy::_CPP_DBL_MAX_EXP_capture() # undef LDBL_MAX_EXP # define LDBL_MAX_EXP ::_C_legacy::_CPP_LDBL_MAX_EXP_capture() # undef FLT_MAX_10_EXP # define FLT_MAX_10_EXP ::_C_legacy::_CPP_FLT_MAX_10_EXP_capture() # undef DBL_MAX_10_EXP # define DBL_MAX_10_EXP ::_C_legacy::_CPP_DBL_MAX_10_EXP_capture() # undef LDBL_MAX_10_EXP # define LDBL_MAX_10_EXP ::_C_legacy::_CPP_LDBL_MAX_10_EXP_capture() # undef FLT_MAX # define FLT_MAX ::_C_legacy::_CPP_FLT_MAX_capture() # undef DBL_MAX # define DBL_MAX ::_C_legacy::_CPP_DBL_MAX_capture() # undef LDBL_MAX # define LDBL_MAX ::_C_legacy::_CPP_LDBL_MAX_capture() # undef FLT_EPSILON # define FLT_EPSILON ::_C_legacy::_CPP_FLT_EPSILON_capture() # undef DBL_EPSILON # define DBL_EPSILON ::_C_legacy::_CPP_DBL_EPSILON_capture() # undef LDBL_EPSILON # define LDBL_EPSILON ::_C_legacy::_CPP_LDBL_EPSILON_capture() # undef FLT_MIN # define FLT_MIN ::_C_legacy::_CPP_FLT_MIN_capture() # undef DBL_MIN # define DBL_MIN ::_C_legacy::_CPP_DBL_MIN_capture() # undef LDBL_MIN # define LDBL_MIN ::_C_legacy::_CPP_LDBL_MIN_capture() namespace _C_legacy { namespace _C_shadow { } } namespace std { } // close namespace std:: namespace _C_legacy { namespace _C_shadow { } } # undef _IN_C_LEGACY_ #endif