Boost logo

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