This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

re: [v3] move more num_put speedups to 3.3


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]