This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: V3 PATCH: numeric_limits<> support, fix PR/3865
- From: Richard Henderson <rth at redhat dot com>
- To: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- Cc: Neil Booth <neil at daikokuya dot co dot uk>, Graham Stott <graham dot stott at btinternet dot com>, gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Date: Sun, 1 Sep 2002 15:31:08 -0700
- Subject: Re: V3 PATCH: numeric_limits<> support, fix PR/3865
- References: <20020829180944.GA7687@daikokuya.co.uk> <m365xtqyo0.fsf@soliton.integrable-solutions.net> <20020829192800.GA8493@daikokuya.co.uk> <m3k7m9pihv.fsf@soliton.integrable-solutions.net> <20020830094931.GD1063@redhat.com> <m3k7m8fwyc.fsf@soliton.integrable-solutions.net> <20020831015342.GG1501@redhat.com> <m3r8ge809j.fsf@soliton.integrable-solutions.net> <20020901212223.GA8139@redhat.com> <m3heh974pe.fsf@soliton.integrable-solutions.net>
On Sun, Sep 01, 2002 at 11:58:05PM +0200, Gabriel Dos Reis wrote:
> How do you define numeric_limits<wchar_t>::digits10 ?
// Using the fact that 8,16,32 are the same wrt digits10; could put
// the signed/unsigned check as another ?: at the beginning. Also
// no reason not to use this scheme for all the other integral type
// definitions and remove some of the other ifdeffing at the same time.
#define digits10_for_int_type(TYPE) \
(sizeof (TYPE) * __CHAR_BIT__ == 8 ? 2 \
: sizeof (TYPE) * __CHAR_BIT__ == 16 ? 4 \
: sizeof (TYPE) * __CHAR_BIT__ == 32 ? 9 \
: sizeof (TYPE) * __CHAR_BIT__ == 64 ? 18 + ((TYPE)-1 > 0) \
: /* error */ 0)
static const int digits10 = digits10_for_int_type (wchar_t);
r~