Commit Graph
149 Commits
Author SHA1 Message Date
Johel Ernesto Guerrero Peña 533595d669 fix: address comments from @mpusz 2021-03-15 15:19:52 +01:00
Johel Ernesto Guerrero Peña 69fac6b695 test: don't support compiling quantity_test.cpp with downcasting off 2021-03-15 14:26:44 +01:00
Johel Ernesto Guerrero Peña 3002c5673d test: compile quantity_test.cpp with -DUNITS_DOWNCAST_MODE=0 2021-03-15 14:24:26 +01:00
Mateusz Pusz 7c9e35dcd6 refactor: explicit usage unified accross the library 2021-03-13 19:55:18 +01:00
Johel Ernesto Guerrero Peña 017183653d feat: full-on dimensional analysis between related quantity kinds 2021-02-21 00:17:03 +01:00
Mateusz Pusz dad9b4f166 fix: user-provided CTAD guides fixed
Resolves #227
2021-02-20 17:19:43 +01:00
Mateusz Pusz a41b3a42fe fix: gsl_ExpectsAudit() added for all relevant quantity and quantity_kind operations
Resolves @218
2021-02-20 17:17:45 +01:00
Johel Ernesto Guerrero Peña 00d182e133 fix: operators to behave like the underlying type's 2021-02-16 19:25:13 +01:00
Johel Ernesto Guerrero Peña a168f49b66 fix: lack of compound assignment from dimensionless<one> 2021-02-15 17:07:55 +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 3ce9a5ba67 refactor: Not needed parnetheses removed 2021-01-06 19:00:10 +01:00
Mateusz Pusz f4ff02f8e5 fix: quantity's compound operators fixed to behave like ints do 2021-01-06 16:44:32 +01:00
Mateusz Pusz b1e98a97d0 refactor: ms-gsl replaced with gsl-lite 2021-01-05 17:47:07 +01:00
Mateusz Pusz 6539b492a3 fix: std::chrono::duration support fixed
Resolves #198
2021-01-04 13:05:26 +01:00
Johel Ernesto Guerrero Peña 5c6cd1b26b fix: parameter constness in constraints 2021-01-03 19:17:43 +01:00
Mateusz Pusz 32391866be refactor: Limited the equivalent trait usage 2020-12-28 18:40:58 +01:00
Mateusz Pusz 55e5cac33f refactor: More stream-specific implementation moved to quantity_io.h 2020-12-28 16:15:19 +01:00
Mateusz Pusz cff718301c refactor: quantity_io added 2020-12-28 15:18:36 +01:00
Mateusz Pusz 0fb821a392 fix: Commutativity no longer required for operator*
Resolves #185
2020-12-27 12:26:40 +01:00
Mateusz Pusz 68058cfb25 fix: Atomic constraints fixed for safe_convertible_to_ 2020-12-22 14:37:03 +01:00
Mateusz Pusz d64d26a4c4 refactor: interoperability with quantity-like types simplified
Type trait specialization for each `quantity` type is not needed anymore.

Relates to #33.
2020-10-07 14:29:12 +02: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 920c396742 feat: value initialization for quantity value removed (left with a default initialization) 2020-09-24 16:10:07 +02:00
Mateusz Pusz a098f97c08 feat: CTAD for dimensionless quantity added 2020-09-23 16:34:13 +02:00
Mateusz Pusz cb86cd2bcd fix: regression in quantity::op<<() for the case of std::setw() fixed 2020-09-15 08:55:35 +02:00
Mateusz Pusz 8687527b34 perf: temporary string creation removed from quantity::op<<() 2020-09-15 07:30:06 +02:00
Mateusz Pusz ca11f4ff5d fix: ms-gsl Expects commented out for runtime code
Refers to #165

Resolves #164
2020-09-14 20:09:51 +02:00
Mateusz Pusz 2a56438f1c refactor: file tree with systems defninitions refactored to limit ODR issues
Relates to #32 as with this commit we created something like modules for derived quantities
2020-09-11 18:11:25 +02:00
Mateusz Pusz 6f88a03285 fix: ambiguity of operators in case of unknown_dimension resolved 2020-09-10 13:02:33 +02:00
Mateusz Pusz 44e8d39102 feat: dimensionless quantity implicit construction enabled for DOWNCAST_MODE=OFF 2020-09-10 11:34:58 +02:00
Mateusz Pusz e367afed71 Merge branch 'downcasting_2.0' 2020-09-09 20:31:03 +02:00
Mateusz Pusz 3e9d5ca189 refactor: ♻️ unitless renamed to one
Resolves #27
2020-09-09 11:20:55 +02:00
Mateusz Pusz 5d62dda479 refactor: non-zero contracts check in quantity improved
Thanks @johelegp!
2020-09-08 22:55:41 +02:00
Mateusz Pusz 9a49df7222 refactor: 💥 Scalar concept renamed to ScalableNumber
Resolves #114
2020-09-08 21:17:09 +02:00
Mateusz Pusz 4bb51586dc refactor: got rid of gcc-9 backlog
BREAKING CHANGE: gcc-9.3 no longer supported
2020-09-08 13:09:34 +02:00
Mateusz Pusz 563b358d5e feat!: 💥 dimensionless quantities refactored
Dimensionless quantities are now represented by quantity types rather
than by plain representation types. Only dimensionless quantities with
`unitless` unit are implicitly convertible from representation types.

`units::exp()` now is a function doing std::exp() on a representation
type (previous `units::exp` class template was renamed to
`units::exponent`).

BREAKING_CHANGE: gcc-9.3 support removed
BREAKING_CHANGE: `exp` and `Exp` renamed to `exponent` and `Exponent`
Resolves #27
Resolves #42
2020-09-08 11:02:16 +02:00
Mateusz Pusz 00cb2cd6c3 refactor: cast_ratio now uses quantity_ratio 2020-09-07 11:11:12 +02:00
Johel Ernesto Guerrero Peña ca1867c9b2 refactor!: pow functions as detail 2020-09-06 09:45:24 +02:00
Johel Ernesto Guerrero Peña 2f5be094b2 refactor: pow10 functions to pow.h 2020-09-06 09:45:24 +02:00
Mateusz Pusz b318e8d039 VS2019 support added 2020-09-04 23:06:57 +02:00
Mateusz Pusz 51ffbadf74 gcc-9.3 compilation fixed 2020-09-04 22:11:24 +02:00
Mateusz Pusz 5c98924efb Downcasting reworked to allow OFF and AUTO modes 2020-08-19 13:37:57 +02:00
Mateusz Pusz deb1ee6efa Truncating conversions disalowed for *=, /=, +=, amd -= operators (resolves #137) 2020-08-16 13:29:40 +02:00
Johel Ernesto Guerrero Peña 69dddaf1f6 feat: nodiscard for postfix increment and decrement 2020-08-16 12:32:56 +02:00
Mateusz Pusz d171f5451e NTTP ratio support added (resolves #49) 2020-06-27 19:15:46 +02:00
Mateusz Pusz 0c0d097586 C++20 comparison operators refactored 2020-06-19 19:37:18 +02:00
Mateusz Pusz fea072aeb5 warnings.cmake refactored 2020-05-29 10:07:01 +02:00
Mateusz Pusz 5dd9eaac87 Redundant constraints removed (resolves #109) 2020-05-24 22:49:53 +02:00
Mateusz Pusz d19825e14c Numeric concepts removed from repo (no longer used) 2020-03-28 12:08:37 +01:00