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
Mike Ford
8230a42cb0
added some units for the foot-pound-second system and the static tests
2020-06-16 15:14:46 +02:00
Mateusz Pusz
f5df68253e
symbol_text refactored
2020-03-27 15:21:05 +01:00
Mateusz Pusz
2a77e20cc6
Unit test renamed
2020-03-27 10:08:19 +01:00
Ramzi Sabra
60d9a9036a
added more operators; added tests
2020-03-27 10:03:59 +01:00
Mateusz Pusz
ab1cc4b8e7
Overconstrained quantity operations relaxed
2020-03-25 15:04:33 +01:00
Mateusz Pusz
0a906450a2
Custom representation tests moved to a new file
2020-03-24 22:56:11 +01:00
Mateusz Pusz
81b1ba3162
fixed_string_test added
2019-12-26 09:49:39 +01:00
Mateusz Pusz
2abe429ba7
dimensions_concepts_test added
2019-12-17 22:26:01 +01:00
Mateusz Pusz
80a13b1a94
US system isolated from SI
2019-12-17 12:29:19 +01:00
Mateusz Pusz
12b67923bc
CGS tests added
2019-12-11 16:20:08 +01:00