From: Jonathan Turkanis (technews_at_[hidden])
Date: 2005-03-31 16:15:42
Andy Little wrote:
> "Jonathan Turkanis" <technews_at_[hidden]> wrote:
>> Would it be kosher for me to grab a bigint class from the Yahoo files
>> section --
>> say the one by Ronald Garcia and Andrew Lumsdaine -- make sure it
>> is in good shape, and let it be the default template parameter to
> Surely int should be the default parameter (if any). Using bigint
> turns it from a relatively lightweight to a heavyweight type.
The reasons I would make it the default parameter are
- it's safer than a limited precision type
- I wouldn't have to give it a public name, though it could be accessed as
I don't think it would discourage users from using rational<int> where
> In many
> uses of rational
> the values are unlikely to overflow. Some uses are in dividing a
> circle into degrees, minutes, or seconds, power of dimension in a
> runtime physical-quantity, Storing imperial lengths eg 1 1/8 "
> (inch). I would guess that these are the major uses of rational and
> all have values in quite a small range.
Sounds like a good argument that rational is not completely useless without
> And of course making bigint the default parameter introduces a
> dependency, which is at least untidy.
> BTW why doesnt boost::rational have a 'value_type' member rather than
> the obscure 'int_type'?
You'd have to ask Paul. I would guess it's mean to reflect the requirements on
the template parameter.
> Further If the mpl rational (or fraction) becomes part of boost:
> it would be useful to allow interaction between the compile time and
> run time types:
I agree. But let's wait a bit.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk