Commit Graph
70 Commits
Author SHA1 Message Date
Mateusz Pusz 06e360ea6d refactor(unit test): angle_test renamed to angular_test 2023-06-05 15:14:42 +02:00
Mateusz Pusz 361ff5c3d1 test: international system tests added 2023-06-05 15:06:06 +02:00
Mateusz Pusz 2e759b29be test: fractional_exponent_quantity test added 2023-06-02 10:54:47 +02:00
Mateusz Pusz 1a5f22f5c8 test: concepts test added 2023-05-30 12:04:32 +02:00
Mateusz Pusz d13165d9ae test: CGS tests added 2023-05-27 17:26:06 +02:00
Mateusz Pusz fb54781543 build: magnitude_test disabled for now 2023-05-26 18:36:35 +02:00
Mateusz Pusz 6458cd343c ci: pre-commit related changes 2023-05-26 17:05:33 +02:00
Mateusz Pusz 40f6ae2da7 refactor: quantity refactored + quantity_test updated to reflect and test changes 2023-04-05 17:24:08 +02:00
Mateusz Pusz 42a73739eb refactor: angle_test refactored to V2 2023-04-03 19:23:39 +02:00
Mateusz Pusz 660e62c0a6 refactor: chrono_test refactored to V2 2023-04-03 19:23:08 +02:00
Mateusz Pusz 622b3e3cbd test: unit_symbol() tests moved to a dedicated separate test file 2023-01-28 11:11:07 +01:00
Mateusz Pusz 97da55edfa refactor: the rest of the systems refactored for V2 2022-12-29 18:59:10 +01:00
Mateusz Pusz 6165392d84 test: isq_angle_test added 2022-12-27 10:50:35 +01:00
Mateusz Pusz ff14b49b68 refactor: additional unit tests enabled for the V2 build 2022-12-25 17:34:51 +01:00
Mateusz Pusz 5152db6382 test: ISQ quantities specification tests added 2022-12-17 16:18:14 +01:00
Mateusz Pusz 92c70f1a4e feat: quantity_spec support added 2022-12-16 18:15:48 +01:00
Mateusz Pusz 4938e9d5c0 feat: Added support for natural units-like systems + dimension_one cleanup 2022-11-04 19:29:05 +01:00
Mateusz Pusz cb861dd81a feat: system's definition highly simplified by removing the need for a system_reference for most cases 2022-10-25 07:27:08 +02:00
Mateusz Pusz f156bc4c71 test: type_list unit tests added 2022-10-19 12:23:04 +02:00
Mateusz Pusz a5c7934e0e refactor: units nearly done 2022-10-18 21:24:09 +02:00
Mateusz Pusz 4a49bdda05 refactor: V2 design update 2022-10-06 23:43:01 +01:00
Mateusz Pusz 8b534c8d8b feat: degrees and rotations support added
Resolves #370
2022-08-31 12:57:24 +02:00
Markus Hofbauer cf7a7ed17a check: run pre-commit on all files 2022-04-02 18:58:23 +02:00
Chip Hogg 04b80f0827 Use wheel factorization for prime numbers
Certain existing units in the library require very large prime
numbers---so large, in fact, that our naive trial division hits the
_iteration limit_ for `constexpr` loops.  We don't want to force users
to provide a compiler option override, so we'd better find another way.

The solution is to use the "wheel factorization" algorithm:
https://en.wikipedia.org/wiki/Wheel_factorization

This lets us skip most composite numbers in our trial division.  The
implementation presented here is configurable in terms of the size of
the "basis" of primes we use.  Bigger bases let us skip more primes, but
at the cost of storing more numbers.  Fortunately, it turns out that N=3
was good enough for our purposes.
2022-03-10 23:29:02 +00:00
Mateusz Pusz f9fb6cc8b3 build: projectPrefix usage added 2021-11-05 23:35:30 +01:00
rstein cc5318e5cc refactored HEP units into separate files and corrected namespace where necessary 2021-08-04 13:46:48 +02:00
Johel Ernesto Guerrero Peña 80eefec97c fix: add quantity_point::origin, like std::chrono::time_point::clock 2021-06-29 20:44:27 +02:00
Mateusz Pusz 2c8c6c2e98 refactor: quantity cration helpers are not opt-out rather than opt-in
Resolves #277
2021-05-09 15:52:20 +02:00
Mateusz Pusz 70bff31d06 feat: quantity aliases support addded 2021-04-15 19:13:25 +02:00
Mateusz Pusz b982921d27 refactor: References are now guarded UNITS_REFERENCES with (ON by default) + examples duplicated to subdirectories
Now References can be disabled to meassure a compile time impact. Also the same examples are now provided in two subdirectories to be able to easily compare the pros and cons of every quantity construction technique.
2021-04-06 15:57:28 +02:00
Mateusz Pusz c3659dbb47 refactor: UNITS_UDLS renamed to UNITS_LITERALS
Also now the existence of the preprocessor flag is enough to trigger the feature (`#ifdef` instead of `#if`)
2021-04-06 13:33:27 +02:00
Mateusz Pusz 1a5b4fc85e refactor: UDLs support switched off by default 2021-04-02 18:56:28 +02:00
Mateusz Pusz fc7b0e44e2 feat: 💥 !data system renamed to isq::iec80000 (quantity names renamed too)
Relates to #253
2021-03-19 23:04:52 +01:00
Johel Ernesto Guerrero Peña c61b8643d7 refactor(test): rename references.cpp to references_test.cpp
Addresses https://github.com/mpusz/units/pull/261#discussion_r597217632.
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña ed94ba347f refactor(test): rename unit_constants.cpp to references.cpp
Addresses https://github.com/mpusz/units/pull/261#discussion_r597137577.
2021-03-18 22:37:25 +01:00
Mateusz Pusz 221883bb25 build: core library and each system separated to dedicated CMake targets
Refers to #249
2021-03-16 23:05:45 +01:00
Mateusz Pusz 625f452daa build: libc++ support added 2021-03-15 21:11:26 +01:00
Mateusz Pusz 02ea4825e8 docs: Compilation warnings handling refactored 2021-02-17 15:45:30 +01:00
Johel Ernesto Guerrero Peña 6bf09aa646 feat: quantity_kind and quantity_point_kind 2021-02-15 19:31:08 +01:00
Mateusz Pusz 8f04bd9cfe build: mp::units CMake target was a bad idea -> mp-units::mp-units is back 2021-02-15 17:06:09 +01:00
Johel Ernesto Guerrero Peña efeacca9ee fix: restore user-warnings within the library implementation 2021-02-06 21:20:31 +01:00
Mateusz Pusz ba37c37abd fix: MSVC compilation fixed 2021-01-06 19:06:09 +01:00
Mateusz Pusz f4ff02f8e5 fix: quantity's compound operators fixed to behave like ints do 2021-01-06 16:44:32 +01:00
Johel Ernesto Guerrero Peña 8dede0db9f feat: unit_constants 2020-12-28 12:20:54 +01:00
Mateusz Pusz a172f34684 build: Minimum CMake version required set for each file based on its contents 2020-12-21 22:56:00 +01:00
Mateusz Pusz 206712f046 build: Library renamed to mp::units 2020-12-17 23:06:37 +01:00
Mateusz Pusz 2dd8c90250 feat: ✨ interoperability with std::chrono::duration and other units libraries
Resolves #33
2020-10-07 12:02:08 +02:00
Mateusz Pusz cfc90f4aac refactor: 💥 basic_concepts, quantity and quantity_cast refactored
BREAKING CHANGE:  ScalableNumber renamed to QuantityValue

Resolves #107
2020-10-06 18:17:52 +02:00
Mateusz Pusz 32779e01f0 Build system refactored to be comatible with ConanCenter 2020-09-06 00:00:06 +02:00
Johel Ernesto Guerrero Peña 75119eef3f feat: quantity_point 2020-06-17 15:31:22 +02:00