diff options
author | Kevin Ryde <user42@zip.com.au> | 2003-10-18 23:59:42 +0200 |
---|---|---|
committer | Kevin Ryde <user42@zip.com.au> | 2003-10-18 23:59:42 +0200 |
commit | 47a77986a4f29e8bcf895299a3da781f1b17a263 (patch) | |
tree | 35355d3fae683fe267cfa9c618978654d61d2c18 /doc/tasks.html | |
parent | c559ee8828784cee1cecde67204f053aa2311b17 (diff) | |
download | gmp-47a77986a4f29e8bcf895299a3da781f1b17a263.tar.gz |
Reword C++ global locale bits a little.
Add and clarify gmpxx.h inlining.
Diffstat (limited to 'doc/tasks.html')
-rw-r--r-- | doc/tasks.html | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/doc/tasks.html b/doc/tasks.html index 81681549f..15d146d7c 100644 --- a/doc/tasks.html +++ b/doc/tasks.html @@ -702,19 +702,39 @@ MA 02111-1307, USA. <h4>C++</h4> <ul> -<li> <code>mp?_class(string)</code>: Call libgmpxx functions - <code>mp?_set_str_cxxlocale</code>, in preparation for using aspects of - the C++ global locale, instead of the C one. Applications will need to - be recompiled to take advantage of this. -<li> <code>mpf_class(string)</code>: Use the C++ global locale decimal point, +<li> <code>mpz_class(string)</code>, etc: Use the C++ global locale to + identify whitespace. + <br> + <code>mpf_class(string)</code>: Use the C++ global locale decimal point, rather than the C one. -<li> <code>mp?_class(string)</code>: Use the <code>ctype<char></code> - facet of the global locale for whitespace recognition. + <br> + Consider making these variant <code>mpz_set_str</code> etc forms + available for <code>mpz_t</code> too, not just <code>mpz_class</code> + etc. <li> <code>operator>></code>: Make a test program to see that we accept and reject the same as the standard <code>operator>></code>. Kevin has made a start on this. <li> <code>mpq_class operator+=</code>: Don't emit an unnecssary <code>mpq_set(q,q)</code> before <code>mpz_addmul</code> etc. +<li> Put various bits of gmpxx.h into libgmpxx, to avoid excessive inlining. + Candidates for this would be, + <ul> + <li> <code>mpz_class(const char *)</code>, etc: since they're normally + not fast anyway, and we can hide the exception <code>throw</code>. + <li> <code>mpz_class(string)</code>, etc: to hide the <code>cstr</code> + needed to get to the C conversion function. + <li> <code>mpz_class string, char*</code> etc constructors: likewise to + hide the throws and conversions. + <li> <code>mpz_class::get_str</code>, etc: to hide the <code>char*</code> + to <code>string</code> conversion and free. Perhaps + <code>mpz_get_str</code> can write directly into a + <code>string</code>, to avoid copying. + <br> + Consider making such <code>string</code> returning variants + available for use with plain <code>mpz_t</code> etc too. + </ul> + The mpfr routines are not candidates, since we don't want MPFR support in + libgmpxx yet. </ul> <h4>Miscellaneous</h4> |