const int32_t w_base_t::int4_max = 0x7fffffff; const int32_t w_base_t::int4_min = 0x80000000; const uint32_t w_base_t::uint4_max = 0xffffffff; const uint32_t w_base_t::uint4_min = 0x0; # define LONGLONGCONSTANT(i) i##LL # define ULONGLONGCONSTANT(i) i##ULL #ifdef ARCH_LP64 const uint64_t w_base_t::uint8_max = ULONGLONGCONSTANT(0xffffffffffffffff); const uint64_t w_base_t::uint8_min = ULONGLONGCONSTANT(0x0); const int64_t w_base_t::int8_max = LONGLONGCONSTANT(0x7fffffffffffffff); const int64_t w_base_t::int8_min = LONGLONGCONSTANT(0x8000000000000000); #else const uint64_t w_base_t::uint8_max = ULONGLONGCONSTANT(0xffffffff); const uint64_t w_base_t::uint8_min = ULONGLONGCONSTANT(0x0); const int64_t w_base_t::int8_max = LONGLONGCONSTANT(0x7fffffff); const int64_t w_base_t::int8_min = LONGLONGCONSTANT(0x80000000); #endif
/* XXX shouldn't replicate this from somewhere else */ typedef ios::fmtflags ios_fmtflags; /* * expect string [+-][0[x]][0-9a-fA-F]+ */ # define LONGLONGCONSTANT(i) i##LL # define ULONGLONGCONSTANT(i) i##ULL /* These are masks */ w_base_t::uint8_t thresh_hex_unsigned = ULONGLONGCONSTANT(0xf000000000000000); w_base_t::uint8_t thresh_hex_signed = LONGLONGCONSTANT(0xf800000000000000); w_base_t::uint8_t thresh_dec_unsigned = ULONGLONGCONSTANT(1844674407370955161) ; w_base_t::uint8_t thresh_dec_signed = LONGLONGCONSTANT(922337203685477580); w_base_t::uint8_t thresh2_dec_unsigned = ULONGLONGCONSTANT(18446744073709551610) ; w_base_t::uint8_t thresh2_dec_signed = LONGLONGCONSTANT(9223372036854775800); w_base_t::uint8_t thresh_oct_unsigned = ULONGLONGCONSTANT(0xe000000000000000); w_base_t::uint8_t thresh_oct_signed = LONGLONGCONSTANT(0xf000000000000000); /* * This is *way* slower than strtoull and strtoll, as it is written.