|
Boost : |
From: Gabriel Dos Reis (Gabriel.Dos-Reis_at_[hidden])
Date: 2000-01-04 20:22:24
jsiek_at_[hidden] writes:
[...]
| > Since this is such a well catered-for area of programming these might be
| > sufficient.
| >
| > If boost does consider it a worthy addition maybe the author of one of these
| > packages might be interested in joining boost and contributing their
| > software for comments etc (I know Bob Tisdale is quite vocal and helpful
| > regarding SVMT and appears interested in providing it as a C++
| > 'pseudo-standard' API ref: http://www.netwood.net/~edwin/svmt/#proposal )
|
| I would *not* suggest SVMT as a model for a boost linear algebra
| library, as it is not a good example of modern C++ design.
Funny you should say that. I think we're on a violent agreement here.
| ... I would
| also *not* suggest TNT and ESI for the same reason. SL++ is quite a
| bit better, but it is GPL.
Well, SL++ is no longer actively developped (for adminstrative
reasons); and I now, retrospectvely, wish some design decisions were
made differently.
| ... MTL is also quite good ;) but it is not
| free for commercial use.
I'd put MTL at the same level as SL++ :-)
| Perhaps a worthwhile initial endeavor would be to look at defining a
| *generic* interface for matrices and vectors (as we have started to do
| with graphs).
A gigantesc job...
| ... It would definitely be desirable to cooperate with
| people in the numerical community on this, though that community has
| traditionally held widely varying views, so it may be difficult,
Indeed.
| especially since many have not yet bought into the C++ techniques
| necessary to do a generic interface right. However, there are several
| groups that do understand generic programming.
Generic programming is one thing. Programming in C++ with templates
is another. Usually, you have to 'fight' against C++ to get it right,
because there lacks some full generic programming support
(e.g. typeof()).
Getting the traditional numerical computing community to use C++
already takes courage. Getting them to use *effectively* templates in
C++ is harder. Neverteless, it might be an interesting project.
| One BIG question would be whether to use operator overloading in the
| interface.
Not for the 'core' functions.
Overloaded operators might be proposed as additional syntactic sugar.
| ... This has serious repercussions in performance and
| implementation complexity.
Yup.
-- Gaby
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk