[v3] tr2: bool_set, dynamic_bitset, ratio
Ed Smith-Rowland
3dw4rd@verizon.net
Thu Oct 20 03:07:00 GMT 2011
On 10/19/2011 06:48 PM, Benjamin Kosnik wrote:
> Hi Edward!
>
> I have reviewed and selectively merged your development
> branch, libstdcxx-tr2-ideas-branch, into trunk. As ISO C++ is now
> looking at new library efforts for TR2 (and N2965 has already been
> checked in to trunk) I thought it well-timed.
>
> Please check my work, patch attached.
>
> On libstdcxx-tr2-ideas-branch, I found:
>
> 1) N1718 + extensions for polynomial.
> 2) N2136 bool_set
> 3) N2050 dynamic_bitset
> 4) ratio extensions for binary
> 5) cmath extensions
> 6) C++0x rope
>
> Of these, I selected 2, 3, and 4 for merging.
>
> It is sad to leave N1718 unmerged, I think there is a lot of good work
> here and frankly see N1744 (marked with open status for LWG) as a weaker
> candidate. But it's hard for me to justify putting this in given that it
> was explicitly rejected by LWG. Perhaps you have current status or
> thoughts?
>
> For the rope extensions, I would suggest just adding C++0x bits to
> ext/rope, instead of making tr2/rope.
>
> The<cmath> additions look interesting but I just saw declarations and
> no actual implementation so I punted.
>
> I would encourage you to continue working on TR2 projects! This
> future work can now proceed on mainline, without a special branch.
>
> tested x86_64/linux
>
> -benjamin
>
>
>
>
>
>
Wow! Thank you for putting these in! I was going to take a look at
these during 4.8 but this is a nice surprise!
The ones I'd most like to look at are real and integer. Stroustrup and
others have often expressed a wish for multiprecision maths in the
library wish list. I don't know if there is a paper yet. I also did
rational using the gmp library. I'm wondering if rational should be a
template class that could take any integral type - of which integer
could be one - like boost rational. I think I like that solution
better. I was also debating if we should make these multiprecision
classes allocator aware. I tend to think so.
Anyway, I'll take a look at the tr2 stuff that you checked in. I hadn't
considered constexpr, nullptr, noexcept because they weren't in place in
g++ when I did all this.
Also, with <ratio> and typelist we might be able to get <units> pretty
easily (although I haven't looked at it). That would be really cool.
Thanks,
Ed
More information about the Libstdc++
mailing list