Skip to content

Releases: bernedom/SI

String conversions for all dimension with a distinctive name

16 Oct 11:54
a27883b
Compare
Choose a tag to compare
  • 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

28 Aug 20:22
012bf78
Compare
Choose a tag to compare
  • Added operators +=, *=, /=, -= (Thanks to Kicer96 for the initial work)
  • Added momentum (Thanks to Kicer96)
  • Added packaging information for conan.io and deployment to bintray

Better conforming with standard notations (C++ and SI)

21 Aug 08:57
e04c972
Compare
Choose a tag to compare
  • 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

03 Aug 21:26
37c51fe
Compare
Choose a tag to compare
  • 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

30 Jul 07:48
34e049e
Compare
Choose a tag to compare

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

08 Jul 19:42
Compare
Choose a tag to compare

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

26 Jun 06:48
Compare
Choose a tag to compare

"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

03 May 11:36
97cd5ac
Compare
Choose a tag to compare
  • 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++

21 Apr 19:48
Compare
Choose a tag to compare
  • 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

21 Apr 19:46
Compare
Choose a tag to compare
  • cmake fields use the same versions
  • SI can be used with add_subdirectory thanks to cmake alias
  • compiler flags are set using generator expressions