Boost logo

Boost :

Subject: Re: [boost] [Review] Polynomial library review begins today
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2009-03-11 06:14:28


> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]]
On
> Behalf Of John Maddock
> Sent: 10 March 2009 12:23
> To: boost_at_[hidden]; boost-users_at_[hidden]
> Subject: [boost] [Review] Polynomial library review begins today
>
> The review of Pawel Kieliszczyk's Polynomial library begins today and ends
on Thurs 19th March.

> Here are some questions you might want to answer in your review:
>
> * What is your evaluation of the design?
> * What is your evaluation of the implementation?

Many have already commented on modifying the vector being too surprising - I
agree - but is the speed a real issue?

> * What is your evaluation of the documentation?

OK as far as it goes but won't sell it to those who are not yet sure they
ought to be using this library.

And I thought it needs:

much more details and comments.
references and links to some general texts.
reference to algorithms used.
Links to the worked examples - and they need some comments and sample output
too.
Some editorial work by someone other than the author.

Needs to mention and link to tests (they appear to exist and do something
that I am not qualified to judge effectiveness).
No tests using big int - and no clues about when the 32 bit int will 'run
out of steam'.

For those whose math didn't penetrate as far Galois, an explanation of use
of FieldType template parameter is important.

Doc.html appear to have been created 'the Hard Way'. Would be much more
useful and look nicer if produced with the Quickbook, Doxygen... toolchain.
And make it maintainable by other people.

As a simple example, including the actual text of the Synposis makes it
appear in full glorious Technicolor - and ensures that it remains up to date
too.

> * What is your evaluation of the potential usefulness of the library?

A bit of a niche application, but important for those who need it.

Also shows that we badly need a Big Integer in Boost. (and a Big
Floating-Point too).

> * Did you try to use the library? With what compiler? Did you have any
problems?

Started to try a demo with VS 2008 Sp1

#include <boost/polynomial.hpp>

int main()
{
  boost::math::tools::polynomial<int> poly1; // zero
}

But failed

I:\boost-sandbox\SOC\2008\polynomial\boost/polynomial.hpp(120) : error
C2783: 'boost::math::tools::polynomial<IntegerType>
boost::math::tools::gcd(boost::math::tools::polynomial<IntegerType>,boost::m
ath::tools::polynomial<IntegerType>)' : could not deduce template argument
for 'IntegerType'
        I:\boost-sandbox\SOC\2008\polynomial\boost/polynomial.hpp(33) : see
declaration of 'boost::math::tools::gcd'
        I:\boost-sandbox\SOC\2008\polynomial\boost/polynomial.hpp(248) : see
reference to class template instantiation
'boost::math::tools::polynomial<IntegerType>' being compiled

But ran out of time.

> * How much effort did you put into your evaluation?

 A glance at the documentation.

> * Are you knowledgeable about the problem domain?

No

> And finally, every review should answer this question:
>
> * Do you think the library should be accepted as a Boost library? Be
> sure to say this explicitly so that your other comments don't obscure your
> overall opinion.

With quite a few improvements, yes.

Paul

---
Paul A. Bristow
Prizet Farmhouse
Kendal, UK   LA8 8AB
+44 1539 561830, mobile +44 7714330204
pbristow_at_[hidden]

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