[v3] move more num_put speedups to 3.3

jlquinn@optonline.net jlquinn@optonline.net
Fri Feb 28 21:30:00 GMT 2003


Benjamin Kosnik writes:
> Jerry this is pretty ugly but it works. Okay?

If you're happy with the ABI issues, then yes.  A
couple of minor nits that got fixed on the mainline.
 I can post it again as a followup.

> +     // NB: Code depends on the order of
_M_atoms_out elements.
> +     // Below are the indices into _M_atoms_out.
> +     enum 
> +       {  
> +         _S_minus, 
> +         _S_plus, 
> +         _S_x, 
> +         _S_X, 
> +         _S_digits,
> +         _S_digits_end = _S_digits + 16,
> +         _S_udigits = _S_digits_end,  
> +         _S_udigits_end = _S_udigits + 16,
> +         _S_e = _S_digits + 14, // For scientific
notation, 'e'
> +         _S_E = _S_udigits + 14 // For scientific
notation,'E'

Here:

-        _S_e = _S_digits + 14, // For scientific
notation, 'e'
-        _S_E = _S_udigits + 14 // For scientific
notation, 'E'
+        _S_e = _S_digits + 14,  // For scientific
notation, 'e'
+        _S_E = _S_udigits + 14, // For scientific
notation, 'E'
+
_S_end = _S_udigits_end

> +       };
> +     
> +     // A list of valid numeric literals for output. 
> +     // This array contains the chars after
having been passed through
> +     // the current locale's ctype<_CharT>.widen().
> +     // For the standard "C" locale, this is 
> +     // "-+xX0123456789abcdef0123456789ABCDEF".
> +     static const char* _S_atoms_out;

And here:
-    // A list of valid numeric literals for output. 
-    // This array contains the chars after having
been passed through
-    // the current locale's ctype<_CharT>.widen().
-    // For the standard "C" locale, this is 
+    // A list of valid numeric literals for output.
 This array contains chars
+    // that will be passed through the current
locale's ctype<_CharT>.widen()
+    // and then used to render numbers.
+    // For the standard "C" locale, this is

Once this is in, I'll see if I can make the locale
cache stuff
work without breaking the ABI.

BTW, could you look at this patch?
http://gcc.gnu.org/ml/libstdc++/2003-02/msg00344.html

What do I have to do to get write access?

BTW, none of the mail you are sending to me is
reaching me.  I've been seeing it in the list
archive on the web site.  I think my ISP email has
been messed up recently.

Thanks,
Jerry




More information about the Libstdc++ mailing list