Skip to content

mangh/Metrology

Repository files navigation

Units of Measurement for dotnet

Product description

  • dotnet project templates for creating Units of Measurement C# or C++ library.

  • units and scales are generated from a simple user definitions (in a text file) translated into the target language structures using customizable XSLT templates.

  • units and scales provide the same arithmetic and comparison operators as built-in numeric types:

    • +, ++, -, --, *, /
    • ==, !=, <, <=, >, >=

    so they can be used in expressions just like built-in types.

  • all fundamental dimensions (and their combinations) are supported:

    • Length,
    • Time,
    • Mass,
    • Temperature,
    • ElectricCurrent,
    • AmountOfSubstance,
    • LuminousIntensity

    and in addition:

    • Other (e.g. Money for currency units),
  • conversions to/from other (but compatible) unit types.

  • algorithms can explicitly use units and scales (as types of variables) so that the syntax check performed at compile time is equivalent to performing dimensional analysis (dimensional issues are reported as syntax errors, see: example).

Go to the User Guide for more information.

Instructions for use

For instructions on creating and using unit of measurement projects, see: