Units Versions Save

a compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies.

v3.0.0.beta.2

1 year ago

What's Changed

  • Fix incorrect math function output for scaled dimensionless types, v3.x edition by @ts826848 in https://github.com/nholthaus/units/pull/295
  • fix locale unit test
  • update gtest cmake
  • add vs2019 to appveyor
  • make .value() and .to<>() behave the same for scaled dimensionless units
  • ensure consistency and testing of scaled dimensionless unit math functions

Full Changelog: https://github.com/nholthaus/units/compare/v3.0.0.beta...v3.0.0.beta.2

v2.3.3

1 year ago

Fixes mil definition

v2.3.2

1 year ago

Various fixes and improvements

v3.0.0.beta

1 year ago
  • added support for nlohmann json
  • NaN support
  • add Gal unit of acceleration
  • improved stream operators

3.0.0.alpha-3

3 years ago

Post name refactor

v3.0.0.alpha-2

5 years ago

Many new features of v3.x implemeneted, including first-class support for integer units

v3.0.0.alpha

6 years ago

Preview of version 3.0.0 featuring user-defined variadic dimensions.

No documentation updates yet.

v2.3.1

6 years ago

New in v2.3.1

This version removes support for the Visual Studio 2013 compiler.

Features:

  • units now include constexpr name() and abbreviation() member functions, which do not really on string/iostream.
  • Builds with VS2017 Ninja generator out of the box
  • string conversions are now locale aware
  • added unary incremement and decremement operators (++,--), as well as unary + operator.

Bug fixs:

  • fixed compilation error when iostream was disabled

v2.3.0

6 years ago

features:

  • 5x compile time improvement on MSVC.
  • 1.5x compile time improvement on GCC.
  • Even more dramatic reductions in compile time can be acheived if you opt-in to specific unit definitions instead of using all the library-defined types (which is the default value). Check out Enabling a subset of units to improve compilation time for instructions.
  • Adds std::cout support for units with no defined abbreviation (they show up as a combination of SI base units)
  • Support for std::numeric_limits of unit types.
  • Assignment operators for unit types: -=, +=, /=, *=.
  • Added min and max overloads for units types in units::math.
  • Added to_string function and abbreviation functions:
    auto len = 3.5_m;
    auto str = units::length::to_string(len);
    auto abv = units::length::abbreviation(len);
    
    std::cout << str;  // prints "3.5 m"
    std::cout << abv;  // prints "m"
    
  • Added units of data and data transfer: bits, bytes, bits_per_second, and bytes_per_second.
  • Adds value() member for accessing underlying type.
  • Adds value_type trait, as a synonym for underlying_type.
  • Adds definitions for Julian and Gregorian years.
  • Thanks to @dinocore1, units now supports cmake install and find_packages. From the pull request:
    # To have cmake install units library to a local 'install' directory:
    mkdir build
    cd build
    cmake -DCMAKE_INSTALL_PREFIX="install" ..
    cmake --build . --target install
    # The units library can then be used in some other cmake project using 
    # the standard 'find_package' command. Like so:
    find_package(units)
    

Bug fixes:

  • Fixed singualr name of siemen to be siemens (Thanks @Oxyd)
  • Fixed bug with cubrt operation (Thanks @PearCoding)
  • fixed constexpr relational operators bug
  • fixed exponential temperature conversions (Thanks @guarndt)

v2.3.0RC2

7 years ago

Improvements:

  • 512% compile time improvement on MSVC.
  • 165% compile time improvement on GCC.

Bug fixes:

  • fixed constexpr relational operators bug (#63)

Notes:

  • Retains VS2013 support
  • No documentation updates are provided in this release candidate.