// Static data members of -*- C++ -*- numeric_limits classes
// Copyright (C) 1999-2019 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 3, 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.
// Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation.
// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// .
// Written by Gabriel Dos Reis
//
// ISO C++ 14882:1998
// 18.2.1
//
#include
namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
#define const _GLIBCXX_USE_CONSTEXPR
const bool __numeric_limits_base::is_specialized;
const int __numeric_limits_base::digits;
const int __numeric_limits_base::digits10;
const int __numeric_limits_base::max_digits10;
const bool __numeric_limits_base::is_signed;
const bool __numeric_limits_base::is_integer;
const bool __numeric_limits_base::is_exact;
const int __numeric_limits_base::radix;
const int __numeric_limits_base::min_exponent;
const int __numeric_limits_base::min_exponent10;
const int __numeric_limits_base::max_exponent;
const int __numeric_limits_base::max_exponent10;
const bool __numeric_limits_base::has_infinity;
const bool __numeric_limits_base::has_quiet_NaN;
const bool __numeric_limits_base::has_signaling_NaN;
const float_denorm_style __numeric_limits_base::has_denorm;
const bool __numeric_limits_base::has_denorm_loss;
const bool __numeric_limits_base::is_iec559;
const bool __numeric_limits_base::is_bounded;
const bool __numeric_limits_base::is_modulo;
const bool __numeric_limits_base::traps;
const bool __numeric_limits_base::tinyness_before;
const float_round_style __numeric_limits_base::round_style;
// bool
const bool numeric_limits::is_specialized;
const int numeric_limits::digits;
const int numeric_limits::digits10;
const int numeric_limits::max_digits10;
const bool numeric_limits::is_signed;
const bool numeric_limits::is_integer;
const bool numeric_limits::is_exact;
const int numeric_limits::radix;
const int numeric_limits::min_exponent;
const int numeric_limits::min_exponent10;
const int numeric_limits::max_exponent;
const int numeric_limits::max_exponent10;
const bool numeric_limits::has_infinity;
const bool numeric_limits::has_quiet_NaN;
const bool numeric_limits::has_signaling_NaN;
const float_denorm_style numeric_limits::has_denorm;
const bool numeric_limits::has_denorm_loss;
const bool numeric_limits::is_iec559;
const bool numeric_limits::is_bounded;
const bool numeric_limits::is_modulo;
const bool numeric_limits::traps;
const bool numeric_limits::tinyness_before;
const float_round_style numeric_limits::round_style;
// char
const bool numeric_limits::is_specialized;
const int numeric_limits::digits;
const int numeric_limits::digits10;
const int numeric_limits::max_digits10;
const bool numeric_limits::is_signed;
const bool numeric_limits::is_integer;
const bool numeric_limits::is_exact;
const int numeric_limits::radix;
const int numeric_limits::min_exponent;
const int numeric_limits::min_exponent10;
const int numeric_limits::max_exponent;
const int numeric_limits::max_exponent10;
const bool numeric_limits::has_infinity;
const bool numeric_limits::has_quiet_NaN;
const bool numeric_limits::has_signaling_NaN;
const float_denorm_style numeric_limits::has_denorm;
const bool numeric_limits::has_denorm_loss;
const bool numeric_limits::is_iec559;
const bool numeric_limits::is_bounded;
const bool numeric_limits::is_modulo;
const bool numeric_limits::traps;
const bool numeric_limits::tinyness_before;
const float_round_style numeric_limits::round_style;
// signed char
const bool numeric_limits::is_specialized;
const int numeric_limits::digits;
const int numeric_limits::digits10;
const int numeric_limits::max_digits10;
const bool numeric_limits::is_signed;
const bool numeric_limits::is_integer;
const bool numeric_limits::is_exact;
const int numeric_limits::radix;
const int numeric_limits::min_exponent;
const int numeric_limits::min_exponent10;
const int numeric_limits::max_exponent;
const int numeric_limits::max_exponent10;
const bool numeric_limits::has_infinity;
const bool numeric_limits::has_quiet_NaN;
const bool numeric_limits::has_signaling_NaN;
const float_denorm_style numeric_limits::has_denorm;
const bool numeric_limits::has_denorm_loss;
const bool numeric_limits::is_iec559;
const bool numeric_limits::is_bounded;
const bool numeric_limits::is_modulo;
const bool numeric_limits::traps;
const bool numeric_limits::tinyness_before;
const float_round_style numeric_limits::round_style;
// unsigned char
const bool numeric_limits::is_specialized;
const int numeric_limits::digits;
const int numeric_limits::digits10;
const int numeric_limits::max_digits10;
const bool numeric_limits::is_signed;
const bool numeric_limits::is_integer;
const bool numeric_limits::is_exact;
const int numeric_limits::radix;
const int numeric_limits::min_exponent;
const int numeric_limits::min_exponent10;
const int numeric_limits::max_exponent;
const int numeric_limits::max_exponent10;
const bool numeric_limits::has_infinity;
const bool numeric_limits::has_quiet_NaN;
const bool numeric_limits::has_signaling_NaN;
const float_denorm_style numeric_limits::has_denorm;
const bool numeric_limits::has_denorm_loss;
const bool numeric_limits::is_iec559;
const bool numeric_limits::is_bounded;
const bool numeric_limits::is_modulo;
const bool numeric_limits::traps;
const bool numeric_limits::tinyness_before;
const float_round_style numeric_limits::round_style;
// wchar_t
// This used to be problematic...
#ifdef _GLIBCXX_USE_WCHAR_T
const bool numeric_limits::is_specialized;
const int numeric_limits::digits;
const int numeric_limits::digits10;
const int numeric_limits::max_digits10;
const bool numeric_limits::is_signed;
const bool numeric_limits::is_integer;
const bool numeric_limits::is_exact;
const int numeric_limits::radix;
const int numeric_limits::min_exponent;
const int numeric_limits::min_exponent10;
const int numeric_limits::max_exponent;
const int numeric_limits::max_exponent10;
const bool numeric_limits::has_infinity;
const bool numeric_limits::has_quiet_NaN;
const bool numeric_limits::has_signaling_NaN;
const float_denorm_style numeric_limits::has_denorm;
const bool numeric_limits::has_denorm_loss;
const bool numeric_limits::is_iec559;
const bool numeric_limits::is_bounded;
const bool numeric_limits::is_modulo;
const bool numeric_limits::traps;
const bool numeric_limits::tinyness_before;
const float_round_style numeric_limits::round_style;
#endif // _GLIBCXX_USE_WCHAR_T
// short
const bool numeric_limits::is_specialized;
const int numeric_limits::digits;
const int numeric_limits::digits10;
const int numeric_limits::max_digits10;
const bool numeric_limits::is_signed;
const bool numeric_limits::is_integer;
const bool numeric_limits::is_exact;
const int numeric_limits::radix;
const int numeric_limits::min_exponent;
const int numeric_limits::min_exponent10;
const int numeric_limits::max_exponent;
const int numeric_limits::max_exponent10;
const bool numeric_limits::has_infinity;
const bool numeric_limits::has_quiet_NaN;
const bool numeric_limits::has_signaling_NaN;
const float_denorm_style numeric_limits::has_denorm;
const bool numeric_limits::has_denorm_loss;
const bool numeric_limits::is_iec559;
const bool numeric_limits::is_bounded;
const bool numeric_limits::is_modulo;
const bool numeric_limits::traps;
const bool numeric_limits::tinyness_before;
const float_round_style numeric_limits::round_style;
// unsigned short
const bool numeric_limits::is_specialized;
const int numeric_limits::digits;
const int numeric_limits::digits10;
const int numeric_limits::max_digits10;
const bool numeric_limits::is_signed;
const bool numeric_limits::is_integer;
const bool numeric_limits::is_exact;
const int numeric_limits::radix;
const int numeric_limits::min_exponent;
const int numeric_limits::min_exponent10;
const int numeric_limits::max_exponent;
const int numeric_limits::max_exponent10;
const bool numeric_limits::has_infinity;
const bool numeric_limits::has_quiet_NaN;
const bool numeric_limits::has_signaling_NaN;
const float_denorm_style numeric_limits::has_denorm;
const bool numeric_limits::has_denorm_loss;
const bool numeric_limits::is_iec559;
const bool numeric_limits::is_bounded;
const bool numeric_limits::is_modulo;
const bool numeric_limits::traps;
const bool numeric_limits::tinyness_before;
const float_round_style numeric_limits::round_style;
// int
const bool numeric_limits::is_specialized;
const int numeric_limits::digits;
const int numeric_limits::digits10;
const int numeric_limits::max_digits10;
const bool numeric_limits::is_signed;
const bool numeric_limits::is_integer;
const bool numeric_limits::is_exact;
const int numeric_limits::radix;
const int numeric_limits::min_exponent;
const int numeric_limits::min_exponent10;
const int numeric_limits::max_exponent;
const int numeric_limits::max_exponent10;
const bool numeric_limits::has_infinity;
const bool numeric_limits::has_quiet_NaN;
const bool numeric_limits::has_signaling_NaN;
const float_denorm_style numeric_limits::has_denorm;
const bool numeric_limits::has_denorm_loss;
const bool numeric_limits::is_iec559;
const bool numeric_limits::is_bounded;
const bool numeric_limits::is_modulo;
const bool numeric_limits::traps;
const bool numeric_limits::tinyness_before;
const float_round_style numeric_limits::round_style;
// unsigned int
const bool numeric_limits::is_specialized;
const int numeric_limits::digits;
const int numeric_limits::digits10;
const int numeric_limits::max_digits10;
const bool numeric_limits::is_signed;
const bool numeric_limits::is_integer;
const bool numeric_limits::is_exact;
const int numeric_limits::radix;
const int numeric_limits::min_exponent;
const int numeric_limits::min_exponent10;
const int numeric_limits::max_exponent;
const int numeric_limits::max_exponent10;
const bool numeric_limits::has_infinity;
const bool numeric_limits::has_quiet_NaN;
const bool numeric_limits::has_signaling_NaN;
const float_denorm_style numeric_limits::has_denorm;
const bool numeric_limits::has_denorm_loss;
const bool numeric_limits::is_iec559;
const bool numeric_limits::is_bounded;
const bool numeric_limits::is_modulo;
const bool numeric_limits::traps;
const bool numeric_limits::tinyness_before;
const float_round_style numeric_limits::round_style;
// long
const bool numeric_limits::is_specialized;
const int numeric_limits::digits;
const int numeric_limits::digits10;
const int numeric_limits::max_digits10;
const bool numeric_limits::is_signed;
const bool numeric_limits::is_integer;
const bool numeric_limits::is_exact;
const int numeric_limits::radix;
const int numeric_limits::min_exponent;
const int numeric_limits::min_exponent10;
const int numeric_limits::max_exponent;
const int numeric_limits::max_exponent10;
const bool numeric_limits::has_infinity;
const bool numeric_limits::has_quiet_NaN;
const bool numeric_limits::has_signaling_NaN;
const float_denorm_style numeric_limits::has_denorm;
const bool numeric_limits::has_denorm_loss;
const bool numeric_limits::is_iec559;
const bool numeric_limits::is_bounded;
const bool numeric_limits::is_modulo;
const bool numeric_limits::traps;
const bool numeric_limits::tinyness_before;
const float_round_style numeric_limits::round_style;
// unsigned long
const bool numeric_limits::is_specialized;
const int numeric_limits::digits;
const int numeric_limits::digits10;
const int numeric_limits::max_digits10;
const bool numeric_limits::is_signed;
const bool numeric_limits::is_integer;
const bool numeric_limits::is_exact;
const int numeric_limits::radix;
const int numeric_limits::min_exponent;
const int numeric_limits::min_exponent10;
const int numeric_limits::max_exponent;
const int numeric_limits::max_exponent10;
const bool numeric_limits::has_infinity;
const bool numeric_limits::has_quiet_NaN;
const bool numeric_limits::has_signaling_NaN;
const float_denorm_style numeric_limits::has_denorm;
const bool numeric_limits::has_denorm_loss;
const bool numeric_limits::is_iec559;
const bool numeric_limits::is_bounded;
const bool numeric_limits::is_modulo;
const bool numeric_limits::traps;
const bool numeric_limits::tinyness_before;
const float_round_style numeric_limits