The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.

Download Latest Version 2.5.0 source code.tar.gz (738.2 kB)
Email in envelope

Get an email when there's a new version of mp-units

Home / v2.2.0
Name Modified Size InfoDownloads / Week
Parent folder
2.2.0 source code.tar.gz 2024-06-14 475.4 kB
2.2.0 source code.zip 2024-06-14 713.9 kB
README.md 2024-06-14 6.5 kB
Totals: 3 Items   1.2 MB 0
  • (!) feat: C++ modules support added by @JohelEGP
  • (!) feat: New formatting specification implemented
  • (!) feat: has_unit_symbol support removed
  • (!) feat: ABI concerns resolved with introduction of u8 strings for symbols
  • (!) feat: API-related Conan, CMake, and preprocessor options redesigned
  • (!) feat: core.h removed
  • (!) feat: from now on units, dimensions, quantity specifications, and point origins have to be marked as final
  • feat: implicit point origins support added
  • feat: unit default point origin support added
  • feat: fma, isfinite, isinf, and isnan math function added by @NAThompson
  • feat: fma for quantity points added
  • feat: quantity_point support added for quantity_cast and value_cast
  • feat: value_cast<Unit, Representation> added
  • feat: value_cast<Quantity>(q), value_cast<Quantity>(qp) and value_cast<QuantityPoint>(qp) added by @burnpanck
  • feat: interconvertible(QuantitySpec, QuantitySpec) added
  • feat: qp.quantity_from_zero() added
  • feat: value_type type trait added
  • feat: do not print space between a number and percent or per_mille
  • feat: ppm parts per million added by @nebkat
  • feat: atan2 2-argument arctangent added by @nebkat
  • feat: fmod floating-point division remainder added by @nebkat
  • feat: remainder IEEE division remainder added by @nebkat
  • feat: std::format support added
  • feat: unit text output support added
  • feat: formatting error messages improved
  • feat: improve types readability by eliminating extraneous () in references, prefixes, and kind_of
  • feat: dimension and unit text output added
  • feat: some light and radiation ISQ quantities added
  • feat: allow configuring GSL library use
  • feat: freestanding support added
  • (!) refactor: zero_Fahrenheit renamed to zeroth_degree_Fahrenheit
  • (!) refactor: SI-related trigonometric functions moved to the si subnamespace
  • (!) refactor: math.h header file broke up to smaller pieces
  • (!) refactor: fixed_string interface refactored
  • (!) refactor: ReferenceOf does not take a dimension anymore
  • (!) refactor: 'o' replaced with '1' as a modifier for unit_symbol_solidus::one_denominator
  • (!) refactor: get_kind() now returns kind_of
  • (!) refactor: FMT macros moved to compat_macros.h
  • (!) refactor: fixed_string refactored to reflect the latest changes to P3094R2
  • (!) refactor: basic_symbol_text renamed to symbol_text
  • (!) refactor: ratio hidden as an implementation detail behind mag_ratio
  • (!) refactor: framework.h introduced
  • (!) refactor: type list tools made an implementation detail of the library
  • (!) refactor: header files with the entire system definitions moved up in the directory tree
  • (!) refactor: absolute_point_origin does not use CRTP anymore
  • refactor: system's units do not inherit from one another anymore
  • refactor: all units made final
  • refactor: math functions constraints refactored
  • refactor: si_quantities.h added to improve compile-times
  • refactor: validate_ascii_string refactored to is_basic_literal_character_set
  • refactor: underlying_type split to wrapped_type and value_type and used in code
  • refactor: code refactored to comply with clang-tidy
  • refactor: remove dependency on <ranges> header and switch to use an iterator-based copy algorithm
  • refactor: terminate replaced with abort and a header file added
  • refactor: most std::remove_const_t removed and some replaced with the GCC-specific workaround
  • refactor: not needed remove_reference_t and remove_cvref_t removed
  • fix: QuantityLike conversions required Q::rep instead of using one provided by quantity_like_traits
  • fix: QuantitySpec[Unit] replaced with make_reference in value_cast
  • fix: ice_point is now defined with the integral offset from absolute_zero
  • fix: performance regression in sudo_cast fixed
  • fix: explicit object parameter support fixed
  • fix: missing version header file added to hacks.h
  • fix: quantity_cast to accept lvalue references (thanks @burnpanck)
  • fix: value_cast with lvalue references to quantity_point (thanks @burnpanck)
  • docs: project blog and first posts added
  • docs: project documentation layout refactored
  • docs: "Interoperability with Other Libraries" chapter added
  • docs: "Framework Basics" chapters updated and cleaned up
  • docs: smoot unit example added to the main page
  • docs: "Code Example" chapter renamed to "Look and Feel" and reordered in TOC to be after "Quick Start"
  • docs: "Quick Start" chapter reworked to be simpler and include quantity points
  • docs: "Quantity points" chapter extended
  • docs: "The Affine Space" chapter updated to reflect the recent design changes
  • docs: "Working with Legacy interfaces" chapter added
  • docs: "Text Output" chapter updated
  • docs: mkdocs social plugin enabled
  • docs: project logo and custom color scheme added
  • docs: minimum compiler requirements updated
  • docs: unit symbols admonition extended in the "Quick Start" chapter
  • docs: Cairo dependency described in the MkDocs section
  • docs: "hello units" example updated with dimensions output
  • docs: "Text Output" chapter updated with the recent formatting changes
  • docs: formatting grammar language changed to EBNF
  • docs: "Project structure" chapter expanded
  • docs: CITATION.cff updated
  • (!) build: Conan and CMake options refactored
  • (!) build: MP_UNITS_AS_SYSTEM_HEADERS renamed to MP_UNITS_BUILD_AS_SYSTEM_HEADERS
  • (!) build: MP_UNITS_BUILD_LA and MP_UNITS_IWYU CMake options now have _DEV_ in the name
  • build: gsl-lite updated to 0.41.0
  • build: catch2 updated to 3.5.1
  • build: fmt updated to 10.2.1
  • build: gitpod environment updated
  • build: check_cxx_feature_supported added
  • build: IWYU path handling fixed
  • build: IWYU enabled on GCC
  • build: CMAKE_EXPORT_COMPILE_COMMANDS flag enabled for the developer's build
  • build(conan): generate() now set cache_variables
  • build(conan): can_run check added before running tests
  • ci: Conan and CMake CI now use different cache names
  • ci: gcc-14 added
  • ci: clang-tidy CI added
Source: README.md, updated 2024-06-14