Boost logo

Boost :

From: Andy Little (andy_at_[hidden])
Date: 2006-06-23 04:30:03


"Phil Richards"software.demon.co.uk...
> On 2006-06-20, John Phillips <phillips_at_[hidden]> wrote:
>> I think we should try to stay out of the business of making a linear
>> algebra system (or a tensor algebra system, either, for that matter) on
>> this project.
>
> I concur. I was already concerned with the size of PQS - recent
> discussions have made me distinctly worried. PQS should do roughly
> what it says on the tin: dimensional analysis and units. Do it
> small, do it tidily, do it clean.

That is all very well Phil. Now where's the code?.
Actually I know you have written some code. I would be interested naturally to
see it.

What happens when you start a quantities library is that you suddenly find the
problems are a bit bigger than you thought.
The dimensional analysis part is frankly trivial. The bloat you talk about is
the result of going into detail that previous libraries ignored:
User interface, units and basic input/output.
It is only when you start to look at that in detail that you find things such as
you need to distinguish different but dimensionally equivalent quantities,
rational powers, the weirdness of the kilogram etc, etc, etc, etc. Other
libraries left these 'trivial' details to the user to sort out. That is a
mistake IMO

IMO the other problem that previous libraries had was that they assumed that
using mpl was mandatory. This brings up a simple but practical problem. In this
environment mpl is darn slow. The practical effect of that is that your
development is slowed to a crawl. I used mpl in PQS and it was impractical, so I
removed it. I did so with a heavy heart because I was aware that doing so would
probably kill PQS as a boost library

I mean if the problems were trivial boost would have its quantities library by
now wouldnt it?

> It's nice to see that there appears to be a move in the direction
> of separating the dimensional analysis and units into orthogonal
> bits, though. It's the way I've gone... :-)

Are you saying that PQS doesnt do that?

The signature of the t1_quantity is

t1_quantity<abstract_quantity, unit, value_type>

That looks like quite a clear separation of concerns to me FWIW.

Am I missing something?

regards
Andy Little


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