Releases: bernedom/SI
Releases · bernedom/SI
String conversions for all dimension with a distinctive name
- Streaming operators (>> and <<) for all dimension symbols
- Bugfix: Fixed dimension symbol clash between absorbed dose and equivalent dose
- Bugfix: Fixed dimension symbol clash between length and inductance
Momentum, operators and conan
Better conforming with standard notations (C++ and SI)
- Changed spelling of length unit from 'meter' to 'metre' as this is the official SI spelling according to the bureau international des Poids and Mesures
- added SI_ prefix to preprocessor flag to disable ratio conversion to SI_DISABLE_IMPLICIT_RATIO_CONVERSION to scope it closer
- Renamed template parameters to fit with c++ naming convention (See this stackoverflow thread)
Electric resistance builds conductance and vice versa
- Unified usage of template arugments in unit_t - internal cleanup no interface changes
- electric conductance can be built from 1/Ohm (including all ratios)
- electric resistance can be built from 1/S (including all ratios)
Optional implicit ratio conversion and unified ratio handling when dividing and multiplying
Changes since previous versions:
- Implicit / automatic conversions between units of different ratio can be disabled with the preprocessor flag DISABLE_IMPLICIT_RATIO_CONVERSIONFixed division of units with same exponent so it considers ratio
- Bugfix in division of units with different exponent and different ratios
- Multiplying units with different ratios results in mutiplied ratios instead of gcd of ratios squared
- Added division of units by a scalar
- Scaffolding for testing intentional compilation failure
Cpack, License and modernizing Cmake
Cosmetic fixes to cmake and adding support for cpack
- cmake requires version 3.12 to support add_executable without sources and verbose project description
- all headers are prefixed with a license tag
- Added support for cpack (see README for usage)
Initial relase
"SI" is a C++ header-only library to ensure type safety for converting physical units.
Features include:
- typedefs for each phyiscal units
- mathematical operations to create derived types out of other types
- user defined literals for constructing physical values in a typesafe manner
- possibiliy to use almost everything as
constexpr
See CHANGELOG.md for changes to previous versions
Types for angle and solid angle
- Updated catch2 to version 2.7.2
- Added angle (radiant) and solid angle (sterradiant) typedefs
- luminous flux can be built from luminosity * solid_angle
0.0.3 - Linting C++
- template specialization to differentiate scalar/unit for floating point and integral values
- Ran linter, minor cosmetical changes
- The goat is now the officially displayed logo
0.0.2 - Cmake linting
- cmake fields use the same versions
- SI can be used with add_subdirectory thanks to cmake alias
- compiler flags are set using generator expressions