limits.mh

来自「开放源码的编译器open watcom 1.6.0版的源代码」· MH 代码 · 共 859 行 · 第 1/3 页

MH
859
字号
    static bool epsilon() { return( 0 ); }
    static bool round_error() { return( 0 ); }
    static const int min_exponent = 0;
    static const int min_exponent10 = 0;
    static const int max_exponent = 0;
    static const int max_exponent10 = 0;
    static const bool has_infinity = false;
    static const bool has_quiet_NaN = false;
    static const bool has_signaling_NaN = false;
    static const float_denorm_style has_denorm = denorm_absent;
    static const bool has_denorm_loss = false;
    static bool infinity() { return( 0 ); }
    static bool quiet_NaN() { return( 0 ); }
    static bool signaling_NaN() { return( 0 ); }
    static bool denorm_min() { return( 0 ); }
    static const bool is_iec559 = false;
    static const bool is_bounded = true;
    static const bool is_modulo = false;
    static const bool traps = false;
    static const bool tinyness_before = false;
    static const float_round_style round_style = round_toward_zero;
  };

  // template< >
  class numeric_limits< char > {
  public:
    static const bool is_specialized = true;
    static char min() { return( CHAR_MIN ); }
    static char max() { return( CHAR_MAX ); }
#ifdef __CHAR_SIGNED__
    static const int digits = 7;
    static const int digits10 = 2;
    static const bool is_signed = true;
#else
    static const int digits = 8;
    static const int digits10 = 2;
    static const bool is_signed = false;
#endif
    static const bool is_integer = true;
    static const bool is_exact = true;
    static const int radix = 2;
    static char epsilon() { return( 0 ); }
    static char round_error() { return( 0 ); }
    static const int min_exponent = 0;
    static const int min_exponent10 = 0;
    static const int max_exponent = 0;
    static const int max_exponent10 = 0;
    static const bool has_infinity = false;
    static const bool has_quiet_NaN = false;
    static const bool has_signaling_NaN = false;
    static const float_denorm_style has_denorm = denorm_absent;
    static const bool has_denorm_loss = false;
    static char infinity() { return( 0 ); }
    static char quiet_NaN() { return( 0 ); }
    static char signaling_NaN() { return( 0 ); }
    static char denorm_min() { return( 0 ); }
    static const bool is_iec559 = false;
    static const bool is_bounded = true;
    static const bool is_modulo = true;
    static const bool traps = false;
    static const bool tinyness_before = false;
    static const float_round_style round_style = round_toward_zero;
  };

  // template< >
  class numeric_limits< signed char > {
  public:
    static const bool is_specialized = true;
    static signed char min() { return( SCHAR_MIN ); }
    static signed char max() { return( SCHAR_MAX ); }
    static const int digits = 7;
    static const int digits10 = 2;
    static const bool is_signed = true;
    static const bool is_integer = true;
    static const bool is_exact = true;
    static const int radix = 2;
    static signed char epsilon() { return( 0 ); }
    static signed char round_error() { return( 0 ); }
    static const int min_exponent = 0;
    static const int min_exponent10 = 0;
    static const int max_exponent = 0;
    static const int max_exponent10 = 0;
    static const bool has_infinity = false;
    static const bool has_quiet_NaN = false;
    static const bool has_signaling_NaN = false;
    static const float_denorm_style has_denorm = denorm_absent;
    static const bool has_denorm_loss = false;
    static signed char infinity() { return( 0 ); }
    static signed char quiet_NaN() { return( 0 ); }
    static signed char signaling_NaN() { return( 0 ); }
    static signed char denorm_min() { return( 0 ); }
    static const bool is_iec559 = false;
    static const bool is_bounded = true;
    static const bool is_modulo = true;
    static const bool traps = false;
    static const bool tinyness_before = false;
    static const float_round_style round_style = round_toward_zero;
  };

  // template< >
  class numeric_limits< unsigned char > {
  public:
    static const bool is_specialized = true;
    static unsigned char min() { return( 0 ); }
    static unsigned char max() { return( UCHAR_MAX ); }
    static const int digits = 8;
    static const int digits10 = 2;
    static const bool is_signed = false;
    static const bool is_integer = true;
    static const bool is_exact = true;
    static const int radix = 2;
    static unsigned char epsilon() { return( 0 ); }
    static unsigned char round_error() { return( 0 ); }
    static const int min_exponent = 0;
    static const int min_exponent10 = 0;
    static const int max_exponent = 0;
    static const int max_exponent10 = 0;
    static const bool has_infinity = false;
    static const bool has_quiet_NaN = false;
    static const bool has_signaling_NaN = false;
    static const float_denorm_style has_denorm = denorm_absent;
    static const bool has_denorm_loss = false;
    static unsigned char infinity() { return( 0 ); }
    static unsigned char quiet_NaN() { return( 0 ); }
    static unsigned char signaling_NaN() { return( 0 ); }
    static unsigned char denorm_min() { return( 0 ); }
    static const bool is_iec559 = false;
    static const bool is_bounded = true;
    static const bool is_modulo = true;
    static const bool traps = false;
    static const bool tinyness_before = false;
    static const float_round_style round_style = round_toward_zero;
  };

  // template< >
  class numeric_limits< wchar_t > {
  public:
    static const bool is_specialized = true;
    static wchar_t min() { return( 0 ); }
    static wchar_t max() { return( 65535U ); }
    static const int digits = 16;
    static const int digits10 = 4;
    static const bool is_signed = false;
    static const bool is_integer = true;
    static const bool is_exact = true;
    static const int radix = 0;
    static wchar_t epsilon() { return( 0 ); }
    static wchar_t round_error() { return( 0 ); }
    static const int min_exponent = 0;
    static const int min_exponent10 = 0;
    static const int max_exponent = 0;
    static const int max_exponent10 = 0;
    static const bool has_infinity = false;
    static const bool has_quiet_NaN = false;
    static const bool has_signaling_NaN = false;
    static const float_denorm_style has_denorm = denorm_absent;
    static const bool has_denorm_loss = false;
    static wchar_t infinity() { return( 0 ); }
    static wchar_t quiet_NaN() { return( 0 ); }
    static wchar_t signaling_NaN() { return( 0 ); }
    static wchar_t denorm_min() { return( 0 ); }
    static const bool is_iec559 = false;
    static const bool is_bounded = true;
    static const bool is_modulo = true;
    static const bool traps = false;
    static const bool tinyness_before = false;
    static const float_round_style round_style = round_toward_zero;
  };

  // template< >
  class numeric_limits< short > {
  public:
    static const bool is_specialized = true;
    static short min() { return( SHRT_MIN ); }
    static short max() { return( SHRT_MAX ); }
    static const int digits = 15;
    static const int digits10 = 4;
    static const bool is_signed = true;
    static const bool is_integer = true;
    static const bool is_exact = true;
    static const int radix = 2;
    static short epsilon() { return( 0 ); }
    static short round_error() { return( 0 ); }
    static const int min_exponent = 0;
    static const int min_exponent10 = 0;
    static const int max_exponent = 0;
    static const int max_exponent10 = 0;
    static const bool has_infinity = false;
    static const bool has_quiet_NaN = false;
    static const bool has_signaling_NaN = false;
    static const float_denorm_style has_denorm = denorm_absent;
    static const bool has_denorm_loss = false;
    static short infinity() { return( 0 ); }
    static short quiet_NaN() { return( 0 ); }
    static short signaling_NaN() { return( 0 ); }
    static short denorm_min() { return( 0 ); }
    static const bool is_iec559 = false;
    static const bool is_bounded = true;
    static const bool is_modulo = true;
    static const bool traps = false;
    static const bool tinyness_before = false;
    static const float_round_style round_style = round_toward_zero;
  };

  // template< >
  class numeric_limits< int > {
  public:
    static const bool is_specialized = true;
    static int min() { return( INT_MIN ); }
    static int max() { return( INT_MAX ); }
#if defined(__386__) || defined(__AXP__) || defined(__PPC__) || defined(__MIPS__)
    static const int digits = 31;
    static const int digits10 = 9;
#else
    static const int digits = 15;
    static const int digits10 = 4;
#endif
    static const bool is_signed = true;
    static const bool is_integer = true;
    static const bool is_exact = true;
    static const int radix = 2;
    static int epsilon() { return( 0 ); }
    static int round_error() { return( 0 ); }
    static const int min_exponent = 0;
    static const int min_exponent10 = 0;
    static const int max_exponent = 0;
    static const int max_exponent10 = 0;
    static const bool has_infinity = false;
    static const bool has_quiet_NaN = false;
    static const bool has_signaling_NaN = false;
    static const float_denorm_style has_denorm = denorm_absent;
    static const bool has_denorm_loss = false;
    static int infinity() { return( 0 ); }
    static int quiet_NaN() { return( 0 ); }
    static int signaling_NaN() { return( 0 ); }
    static int denorm_min() { return( 0 ); }
    static const bool is_iec559 = false;
    static const bool is_bounded = true;
    static const bool is_modulo = true;
    static const bool traps = false;
    static const bool tinyness_before = false;
    static const float_round_style round_style = round_toward_zero;
  };

  // template< >
  class numeric_limits< long > {
  public:
    static const bool is_specialized = true;
    static long min() { return( LONG_MIN ); }
    static long max() { return( LONG_MAX ); }
    static const int digits = 31;
    static const int digits10 = 9;
    static const bool is_signed = true;
    static const bool is_integer = true;
    static const bool is_exact = true;
    static const int radix = 2;
    static long epsilon() { return( 0 ); }
    static long round_error() { return( 0 ); }
    static const int min_exponent = 0;
    static const int min_exponent10 = 0;
    static const int max_exponent = 0;
    static const int max_exponent10 = 0;
    static const bool has_infinity = false;
    static const bool has_quiet_NaN = false;
    static const bool has_signaling_NaN = false;
    static const float_denorm_style has_denorm = denorm_absent;
    static const bool has_denorm_loss = false;
    static long infinity() { return( 0 ); }
    static long quiet_NaN() { return( 0 ); }
    static long signaling_NaN() { return( 0 ); }
    static long denorm_min() { return( 0 ); }
    static const bool is_iec559 = false;
    static const bool is_bounded = true;
    static const bool is_modulo = true;
    static const bool traps = false;
    static const bool tinyness_before = false;
    static const float_round_style round_style = round_toward_zero;
  };

#ifdef __WATCOM_INT64__
  // template< >
  class numeric_limits< long long > {
  public:
    static const bool is_specialized = true;
    static long long min() { return( LLONG_MIN ); }
    static long long max() { return( LLONG_MAX ); }
    static const int digits = 63;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?