Boost logo

Boost :

Subject: Re: [boost] [xint] Third release is ready, requesting preliminary review
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2010-05-03 12:42:07


----- Original Message -----
From: "DE" <satan66613_at_[hidden]>
To: "Stewart, Robert" <boost_at_[hidden]>
Sent: Monday, May 03, 2010 5:44 PM
Subject: Re: [boost] [xint] Third release is ready,requesting preliminary review

> i'm glad that everyone switched to the implementation because it means
> there is nothing criminally wrong with the interface
> said that, we can expect the implementation to become optimal in time
> so the main work is done i guess

I have some question about the interface.

I know that these functions appears on N1744
bool getbit( intege r const &, size _t );

void setbit( intege r &, size_t );
void clearbit( integer &, size_ t );

But are these really necessary? A use case?

The std::numeric_limits specialization defines functions that return 0 with a comment

00298 namespace std {
00299 template<>
00300 class numeric_limits<boost::xint::integer> {
00301 public:
00302 static const bool is_specialized = true;
00303
00304 static boost::xint::integer min() throw() { return 0; } // Not applicable
00305 static boost::xint::integer max() throw() { return 0; } // Not applicable

If a value can not be given, shouldn't these be undefined? Or should these functions return -infinity, infinity?xint::integer is a signed integer. It is worth having an unsigned integer xint::uinteger? If not why?Best,
Vicente


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk