
"Janek Kozicki" wrote
Andy Little said: (by the date of Sun, 11 Jun 2006 09:29:25 +0100)
fixed_quantity,scalable_quantity,free_quantity
I did think of uni_quantity or universal quantity Yes these names make more sense.
of coure those are just my suggestion, you may as well decide to name them differently. The goal it to GET RID of numbers in names ;)
apart from in vectors ? :-)
like this:
rigid_quantity , scaled_quantity , uni_quantity fully_templated_quantity, partially_templated_quantity, runtime_quantity ;P
whatever. but not numbers :)
What about in vector, say vector3d ? :-)
Yes, I should work on this mechanism of using the checked quantities only for debugging, but leaving no artefacts of them(like reduced speed) for release. I should also work on closing the gap betwen fixed_quantity and floats too though.
I hope that it will work. Or better - that with fixed_quantity the templates will work so good, that there will be no difference between it turned on and off.
It worked very well in VC7.1, in a previous version of the library, when the assembly produced was identical to that for float types( but only for 2 small simple tests and I didnt try further): http://www.servocomm.freeserve.co.uk/Cpp/physical_quantity/perf_test.html VC7.1 has a very good optimiser and maybe that version of pqs was easier to optimise than the current one. If that turns out to be the case I may have to return to that design of implementation. In fact maybe I should try more complicated tests on that implementation to see what happens and in gcc. However I havent spent any time on that side of things with this version. I have done a very different implementation, this time using a UDT member rather than a float ( to separate the dimension from the units), which may be more difficult to optimize, and I don't know anything about the optimiser in gcc. Currently I have been more concerned with the interface than optimising the implementation. Unfortunately in pqs_3_1_x the implementation is a mess. It needs stripping out and redoing. regards Andy Little