I agree with Andreas and want to thank him for giving his time to make sure the user submitted patches get captured in a snapshot and repository.  I believe these patches are valuable and even if they aren't perfect they provide a good starting point for getting new functionality into the bindings.

This is somewhat of a side note and it might already have been addressed, but I think it would be helpful if the test code for each of the bindings is written in a similar fashion.  One good way to make sure this is the case is to agree on a unit testing framework to use for test implementation.  My personal preference for a unit test framework is UnitTest++[1], but I know boost itself has a testing framework that might be more convenient to use.  I have included a link to an article[2] giving a good detailed description of different unit test frameworks.

Anyhow I just want to thank Andreas again for his time and effort.

Jesse

[1]  http://unittest-cpp.sourceforge.net/
[2]  http://www.gamesfromwithin.com/articles/0412/000061.html

On Tue, Jun 10, 2008 at 1:41 PM, Andreas Klöckner <lists@informa.tiker.net> wrote:
Hi Karl,

On Dienstag 10 Juni 2008, Karl Meerbergen wrote:
> The co-existence of other repositories of the bindings is dangerous.

I humbly disagree.

As I have stated before, I would like the bindings to adopt a far more open
style of accepting contributions and fixes, and I have chosen to put my
maintainership time where my mouth is.

And thanks to the awesome power of "diff", managing code differences has gone
from "nightmare" to "manageable problem". How manageable? Here's an overview
of what's different between the official bindings and my version:

 boost/numeric/bindings/lapack/gbsv.hpp                  |  136 ----
 boost/numeric/bindings/lapack/geev.hpp                  |   20
 boost/numeric/bindings/lapack/gels.hpp                  |  213 ------
 boost/numeric/bindings/lapack/gelsd.hpp                 |  420 ------------
 boost/numeric/bindings/lapack/gelss.hpp                 |  358 ----------
 boost/numeric/bindings/lapack/geqrf.hpp                 |    9
 boost/numeric/bindings/lapack/gesvd.hpp                 |   12
 boost/numeric/bindings/lapack/heev.hpp                  |    8
 boost/numeric/bindings/lapack/heevd.hpp                 |   22
 boost/numeric/bindings/lapack/heevx.hpp                 |   25
 boost/numeric/bindings/lapack/lapack.h                  |  224 +-----
 boost/numeric/bindings/lapack/lapack.hpp                |    5
 boost/numeric/bindings/lapack/lapack_names.h            |   76 --
 boost/numeric/bindings/lapack/orgqr.hpp                 |  156 ----
 boost/numeric/bindings/lapack/ppsv.hpp                  |   58 -
 boost/numeric/bindings/lapack/syev.hpp                  |   11
 boost/numeric/bindings/lapack/sygv.hpp                  |  231 -------
 boost/numeric/bindings/traits/detail/ublas_ordering.hpp |    6
 boost/numeric/bindings/traits/ublas_banded.hpp          |    7
 boost/numeric/bindings/umfpack/umfpack_inc.hpp          |    2
 libs/numeric/bindings/lapack/test/convenience.h         |  254 -------
 libs/numeric/bindings/lapack/test/ublas_gels.cpp        |
523 ----------------
 libs/numeric/bindings/lapack/test/ublas_gelsd.cpp       |  435 -------------
 libs/numeric/bindings/lapack/test/ublas_gelss.cpp       |  435 -------------

(The full patch is available for review at [1].)

In particular, the official bindings are still missing work by Jesse Manning,
Vardan Akopian, Georg Baum, Fabien Dekeyser, Quoc-Cuong Pham, Kian-Ming Chai
and some others that I probably forgot. I can and will not vouch for the
individual quality of these contributions other than claiming to have done
cursory code and license review. However I believe that, to a developer
tasked with solving a certain problem, bindings with minor issues are often
more valuable than no bindings at all. That way, everybody gets to chip in
and improve. This strategy does not work for boost, whose claim to fame is to
provide squeaky-clean, virtually bug-free code. They also have far more
review manpower than we do. The strategy does, however, work for Wikipedia
and many software projects.

Andreas

[1]
http://mathema.tician.de/news.tiker.net/download/pub/bindings-vs-official-20080610.patch

PS: This patch is after a sync with the bindings svn, picking up the license
change as well as lots of test and build improvements by Thomas. Results of
this sync are available in a new bindings tarball, dated 0610, and current
git.

_______________________________________________
ublas mailing list
ublas@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/ublas