Commit Graph
76 Commits
Author SHA1 Message Date
Mateusz Pusz 0ce18dc3c7 feat: std::format usage enabled for VS2022 2021-11-15 16:28:26 +01:00
Mateusz Pusz a09cef4a3f fix: fix VS2022 shadowing issues 2021-11-15 13:46:24 +01:00
Markus Hofbauer 50b9050d6b Feat: Overloads for floor and ceil accepting quantities (#314)
* feat: overloads for floor and ceil accepting quantities

* require same type for dim and rep

* be specific for msvc
2021-11-15 12:23:28 +01:00
Mateusz Pusz 3f28b55ab1 refactor: more constraints added to floor and ceil 2021-11-13 21:53:53 +01:00
Markus Hofbauer b881b56480 feat: first draft ceil 2021-11-13 16:50:55 +01:00
Markus Hofbauer e82bfa23a5 Feat: Floor (#309)
* feat: first draft floor

* apply review feedback and move to desired files

* implement floor considering float types

* reduce code duplication

* apply review feedback and improve docstring

* enable static floor tests for gcc only

* Use recommended feature-test macro

* add floor runtime unittests

* apply review feedback

* make lambda const
2021-11-13 12:17:43 +01:00
Mateusz Pusz 6e6c5c281a feat: math functions can now be safely used with user-defined types
Resolves #310
2021-11-09 19:26:26 +01:00
Mateusz Pusz 44a8d0ad1e build: forgot to commit changes in one CMake file :-( 2021-11-07 09:42:15 +01:00
Mateusz Pusz ec6b625135 build: units_as_system renamed to unitsAsSystem 2021-11-05 23:36:14 +01:00
Mateusz Pusz f9fb6cc8b3 build: projectPrefix usage added 2021-11-05 23:35:30 +01:00
Mateusz Pusz 2333c4b3ea build: CMake targets generated by Conan updated 2021-11-04 12:09:54 +01:00
Mateusz Pusz 240ec3a460 build: CTAD for quantity is not supported by clang 2021-10-20 19:58:31 +02:00
Mateusz Pusz b7b8a0bf93 fix: CTAD for aliases fixed 2021-10-20 18:52:13 +02:00
Soham Roy bf938c4fa4 Implemented correctly, included type_list 2021-10-17 12:18:11 +02:00
Soham Roy 1b834e8e49 Replaced macro redefinition with appropriate usage 2021-10-17 12:18:11 +02:00
Soham Roy 4c9c651a9e Replace naked pragmas with defines 2021-10-17 12:18:11 +02:00
Mateusz Pusz 7d370eb496 refactor: forward_range replaced with input_range 2021-10-15 18:21:26 +02:00
Mateusz Pusz 342b8c9acf fix: missing input_iterator definition for clang added 2021-10-15 18:18:04 +02:00
Mateusz Pusz c9708fb642 refactor: safe_multiply() was incorrectly marked as static 2021-09-25 12:49:35 +02:00
Mateusz Pusz d325a0b5b5 fix: clang compilation issues fixed 2021-09-20 17:04:35 +02:00
Johel Ernesto Guerrero Peña 417f842585 fix: constraint recursion for GCC 11 2021-09-17 20:11:38 +02:00
Johel Ernesto Guerrero Peña 8d8f73c0cf refactor: update hacks for LLVM 14 2021-09-14 17:34:15 +02:00
Mateusz Pusz e6cfd4e69b build: clang-13 support added 2021-08-10 13:54:39 +02:00
Mateusz Pusz ed5749a52b refactor: quantity op+() and op-() reimplemented in terms of reference rather then quantity types
`common_quantity`, `common_quantity_for`, `common_quantity_point`, `common_quantity_kind`, and `common_quantity_point_kind` removed

Resolves #290
2021-07-27 14:40:05 +02:00
Johel Ernesto Guerrero Peña 8312b6e463 fix: factor out requires-expression to concept for MSVC 2021-06-30 12:26:56 +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
Ralph J. Steinhagen 7ed29807a6 removed superfluous requires statement in is_quantity<T> 2021-06-29 20:31:06 +02:00
Ralph J. Steinhagen 8e1539bf22 added inheritance unit-test and made is_quantity<T> more specific 2021-06-29 20:31:06 +02:00
Mateusz Pusz 95ac869522 extended is_quantity<T> to support quantity-derived classes
N.B. inheritance is preferred to composition/delegate class to avoid duplication and also inherent the various required operators ('+','-',..., '+=', ...) for details see discussion #271
2021-06-29 20:31:06 +02:00
Mateusz Pusz 0174572645 refactor: merged op% of quantity_kind into one
Relates to #221
2021-05-11 19:40:58 +02:00
Mateusz Pusz c95e20c7ea refactor: quantity_kind constructors merged into one
Relates to #221
2021-05-11 19:39:50 +02:00
Mateusz Pusz b00cff8ec8 refactor: quantity_point construction now relays only on a construction of a quantity_type
Relates to #221
2021-05-11 19:38:14 +02:00
Mateusz Pusz 8540389530 fix: op% fixed for the same argument types case 2021-05-11 19:36:07 +02:00
Mateusz Pusz 1783d243da fix: quantity modulo arithmetics fixed
Resolves #231
2021-05-11 15:03:04 +02:00
Mateusz Pusz b894ee6558 refactor: 💥 got rid of a noble_derived_unit
Resolves #280
2021-05-10 18:03:47 +02:00
Mateusz Pusz 7ead50acfc refactor: derived_kind template parameters reordered to be compatible with a derived_unit
Resolves #229
2021-05-10 16:45:38 +02:00
Mateusz Pusz 8e88f06380 refactor: *deduced_unit renamed to *derived_unit 2021-05-10 15:56:48 +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 6d39459cbc perf: rvalue references support added for constructors and getters
Resolves #275
2021-05-03 19:44:50 +02:00
Mateusz Pusz e39ef2f850 fix: reference redefined in terms of dimension and unit 2021-04-09 12:52:15 +02:00
Mateusz Pusz fadec03cee feat: reference added to quantity_kind, quantity_point, and quantity_point_kind 2021-04-09 08:26:24 +02:00
Mateusz Pusz 0ac00534d6 feat: equality comparison support added for reference 2021-04-08 18:54:49 +02:00
Mateusz Pusz bd862d3517 refactor: Fine-grained references support added 2021-04-07 11:26:45 +02:00
Mateusz Pusz 512406e900 build: got rid of global options for references and literals 2021-04-06 16:30:26 +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 9054420d08 build: Added an option to disable UDLs support
Now it is time to get rid of UDLs from tests and examples and then disable them by default.
2021-04-01 09:36:55 +02:00
Mateusz Pusz 309da80c32 refactor: unit_text.h header include moved to text-related targets 2021-03-31 12:25:26 +02:00
Mateusz Pusz 441db47928 fix: MSVC Release build fixed + pragmas usage refactored 2021-03-30 20:00:23 +02:00
Mateusz Pusz 8a26eaf420 fix: VS build fixed 2021-03-30 14:47:05 +02:00