Boost logo

Boost :

From: Andy Little (andy_at_[hidden])
Date: 2004-01-05 05:59:48


"David B. Held" <dheld_at_[hidden]> wrote in message
news:btacrj$imr$1_at_sea.gmane.org...
> "Andy Little" <andy_at_[hidden]> wrote in message
> news:bta7us$bkg$1_at_sea.gmane.org...
> > [...]
> > A physical-quantity is made of powers of The Seven dimensions:
> > length, mass, time, temperature, current, amount-of-substance,
> > luminous intensity.
> > (aside -please not lets get complicated :-) )

Yep :-)

> > [...]
> > There are only 7 dimensions. Thats it.
> > [...]
>
> Surely this is ridiculous? I can see an extreme reductionist arguing
> that you only need dimensions for space, time, and the fundamental
> forces. And if you really want to get anal, then you could equate
> space and time, and end up with four dimensions (distance, mass,
> electroweak charge, strong charge). Everything else is derived,
> right? And if you buy superstring theory or quantum gravity, then
> you could probably get away with just one or two dimensions, right?

I dont know enough about the subject to make any comment on this...
apologies

> But how useful is that? Who cares if luminous intensity is really
> just photons/area? It's still a useful dimension, right? And even
> though temperature and energy are related, I think there's a lot of
> physicists that would be unhappy to not have a natural energy
> dimension without having to state it in derived terms.

My goal is limited... general engineering.
I have accepted the S.I. system because it provides one unifying framework.
If you arent happy about it take it up with them.
I am happy to accept that as with (say) C++ standard a large amount of
effort was put into
coming up with a best solution.
As far as I am concerned I will do my best to work within it, with the
intent that my code is portable and universally comprehensible.

My goal is first to get something I am happy with for my own work. I have
presented it on boost because others (more eminent.) may find some solutions
useful

I originally came on boost hoping to find something I could use.
What I found was ghastly syntax, no documentation and libs where "If I Just
define my own unit system" I'll be up and running.
I am a simple guy... But my lib is running and Works. Match it or better it
... and I will happily chuck out my code.
( Most stuff I have seen is of the " this is eminently workable IF you just
...(fill in the implementation)" variety ).
The implementation is where all the problems occur.

> Isn't it about
> expressing the solution in the problem domain? Physicists write
> equations with Joules and Watts, not just N m and lbs.-ft./s.

On the subject of N.m == J.

 (also see Guide for Use of the International System of Units 4.2.2 )

In this and similar situations, I am currently working on the lines that it
is up to the programmer to provide the 'context'.
As far as dimensional analysis and units J is exactly equivalent to N.m
Therefore in calculations ie within the system there is no problem.
The problem only arises at output, where the programmer may wish to have N.m
or J as the expression for the units.
I am looking either at a separate class,or more probably an additional
unit_tag parameter... so that the programmer can cast to the type with the
required expression for output. Another possibly better alternative is to
use stream manipulators (e.g using current practise os << std::hex << val )
or some form of locale system for output.

Just sticking within S.I. there are a huge number of unsolved problems....
you guys appear to be leaving all these ( what?..."trivial implementation")
problems to the user. No offence but... I am a user and I am a bit
unimpressed.

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