laas / metapod

A template-based robot dynamics library
GNU Lesser General Public License v3.0
14 stars 10 forks source link

improve floating point precision support #22

Closed sbarthelemy closed 10 years ago

sbarthelemy commented 11 years ago

I'd like to let the user change the floating point precision of algorithms properly.

Currently this parameter is a typedef in metapod namespace. Changing it requires editing the file.

On could add a preprocessor option to avoid editing the file. This might be handy (especially for testing both precisions), but can led to problems at link time:

I think a proper solution would be to move FloatType as a template parameter to both Robot and Spatial::* classes.

I haven't thought about that much though. Any comment?

I would also jump on that occasion to rename linear algebra types in metapod. I think we should closely follow the Eigen conventions, and keep the first letter capital.

So the current metapod::matrix3d would become metapod::Matrix3 (we could also define metapod::Matrix3d and metapod::Matrix3f).

Any comment?

aelkhour commented 11 years ago

I think a proper solution would be to move FloatType as a template parameter to both Robot and Spatial::* classes.

I agree with you, this does sound like the best solution.

So the current metapod::matrix3d would become metapod::Matrix3 (we could also define metapod::Matrix3d and metapod::Matrix3f).

Agreed. Could you however try to keep the two changes (template by float type and renaming) separate in terms of commits?

Thanks for all your contributions to metapod!

olivier-stasse commented 10 years ago

Fixed by commit b473121142004652f8aa7e63df2095c8c8d58c11