
Joe, Forgot to mention that for conversion to bool type one can also use if( x != 0 ) which works for base type int and for type integer. This one should be used in templates. if( !x.is_zero() ) of if( x.get_sign() ) only works for type integer, and therefore should not be used in templates. So if there are templates which work with if( x ) where x is a template type parameter int, when this template should also work for template type parameter integer, this should be replaced by if( x != 0 ) This is a price that has to be payed for avoiding ambiguities generated with a bool conversion operator in integer. By the way I wonder if if( x ) also works when x is a floating point type like float, double or long double. Regards, Maarten. "Joe Gottman" <jgottman@carolina.rr.com> wrote in message news:e52u60$h8i$1@sea.gmane.org...
"Maarten Kronenburg" <M.Kronenburg@inter.nl.net> wrote in message news:e5254e$tba$1@sea.gmane.org...
In the boost vault http://boost-consulting.com/vault/ under Math - Numerics the document infintdraft.pdf contains the Proposal for an Infinite Precision Integer for Library Technical Report 2, Draft.
There's a few members that I'd really like to see.
First, an operator unspecified_bool_type(), like the one found in shared_ptr. There's a lot of code that looks like the following:
long x = doSomething(); if (x) { //whatever.
If integer is going to be a drop-in replacement for long then it should
have
this functionality.
Second, it would be very nice if we could have a two-parameter constructor for emulating scientific notation:
integer googol(1, 100);
I'm not sure how technically feasible this second one is, but it would certainly be useful.
Joe Gottman
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost