|
Boost : |
Subject: Re: [boost] Name and Namespace for Potential Boost ExtendedFloating-Point
From: Simonson, Lucanus J (lucanus.j.simonson_at_[hidden])
Date: 2011-09-01 16:54:28
Sylvester-Bradley, Gareth wrote:
>> So this is the last call for anyone who can't live with it.
>
> Since you're still asking... :-)
>
>> * I believe we received more positive feedback for "a variation of
>> float...", neither real nor decimal.
>> * The consensus seems to be that the namespace mp is terse and
>> confusing.
>> * Some like the trailing underscore. Most, however, do not favor it.
>
> +1 all from me.
>
>> namespace boost
>> {
>> namespace multiprecision
>> {
>
> OK, so far...
>
>> class floating { };
>> }
>> }
>
> Please no! I'd expect a class name like this to be a noun (possibly
> preceded by adjectives). Am I alone?
>
> My vote goes to the following, already mentioned earlier:
>
> namespace boost
> {
> namespace multiprecision
> {
> class mp_float;
> }
> }
I'm OK with multiprecision::floating. I'm guessing that floating would actually be a template with compile time precision based on previous statements by the author.
template <int precision> //number of bits
class floating {};
So if the user typed
using namespace multiprecision;
typedef floating<128> f128;
f128 my_val;
It would be pretty clear, I think, what his intent was. Also, an instance of such a template isn't mutli-precision anymore, it is fixed precision, so mp_floating<128> is somewhat self contradictory. If floating isn't a template and has runtime precision then I'd rather see it named mp_float.
I'm only half joking when I say that if it were my library I'd very likely name it multiprecision_floating_point_type. I use epic length identifiers instead of comments. A function name is often a whole sentence explaining what the funcion does, eg. rectangularize_negative_by_leaps. I do try to keep the sentence short and to the point, though. I'm actually getting worse about this as I get older. The switch to wide aspect ratio monitors has only encouraged this behavior and I now consider 160 characters to be a resonable line length limit. Perhaps my opinion on naming things should be taken with a grain of salt.
Regards,
Luke
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk