m-ou-se / blog

My blog. https://blog.m-ou.se/
4 stars 0 forks source link

compile-time-unit-arithmetic/ #1

Open utterances-bot opened 4 years ago

utterances-bot commented 4 years ago

Compile time unit arithmetic in C++ - Mara's Blog

In Software for Infrastructure, Bjarne Stroustrup shows a way to use templates to make the C++ compiler aware of the unit of a value (e.g. kilograms, seconds, etc.), such that it can check consistent use and prevent disasters like the well known error at NASA in 1999 caused by mixing incompatible units. In this article, I show how to extend this idea to support any number of base units and linearly related units (e.g. centimetres, metres and inches) by teaching the compiler how to do arithmetic on units.

https://blog.m-ou.se/compile-time-unit-arithmetic/

michalfita commented 4 years ago

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1935r2.html address Units problem for C++ standard. Then for example there is https://github.com/LLNL/units that lists many other alternatives as well. I hope for standardization one day.