si-units: Import SI Units Library v2

SI Units ver 2 is a stand-alone library for strongly-typed SI Units system supporting prevalent SI units for wireless system. Under MIT License.

How to import to any project is straightforward. Copy SI Units v2 under any appropriate directory of the project, and add its directory using add_subdirectory() command in the main CMake recipe. That's it. Then the project is ready to gradually migrate into a compile-time guarantee in the computation of physical quantities. This MR demonstrates the integration into ns-3.

PLACEMENT The library is imported to third-party/si-units/

OVERVIEW See third-party/si-units/doc/si-units.rst

HISTORY This replaces MR1887 !1887 (closed) without changing the usages.

USAGES See third-party/si-units/test/si-units-doctest.cc

RELIABILITY This library has been fully adopted and used in multiple, large non-public projects for the past 5 years. A version of ns-3 wifi module had adopted SI Units for 2+ years, including the full support for CLI, examples-to-run, and attribute system.

HOW TO BUILD and TEST

(cd third-party/si-units; ./run.sh)

Note the test includes negative tests. The fact they show parsing errors is desirably expected.

Edited by Jiwoong Lee

Merge request reports

Loading