Commit Graph
701 Commits
Author SHA1 Message Date
Chip Hogg c75eb02ea7 Finish fleshing out make_ratio 2021-12-29 21:21:58 -05:00
Chip Hogg 8a1ed3adcb Add make_ratio() helper and prime factorization 2021-12-29 21:21:58 -05:00
Chip Hogg a86cac8705 Capitalize more template arguments 2021-12-29 21:21:58 -05:00
Chip Hogg 2c229710e7 Create and use BasePower concept 2021-12-29 21:21:57 -05:00
Chip Hogg 4f759f95e8 Use Magnitude concept where appropriate 2021-12-29 21:21:57 -05:00
Chip Hogg 0566158e91 Add concept for magnitude 2021-12-29 21:21:57 -05:00
Chip Hogg 0c5ae082d5 Add magnitude with product, inverse, quotient
For now, all templates are unconstrained; we hope to clean that up
later.
2021-12-29 21:21:57 -05:00
Chip Hogg a80378cae8 Support addition and negation in ratio 2021-12-29 21:21:57 -05:00
Johel Ernesto Guerrero Peña 3bf3bebb6a build: export config to local build (#322) 2021-12-13 15:16:08 +01:00
Johel Ernesto Guerrero Peña 4efed3c6d4 refactor: update Clang 14 to not require range-v3 (#321)
* Revert "refactor: update hacks for LLVM 14"

This reverts commit d142844de7.

* refactor: update Clang 14 to not require range-v3
2021-12-13 10:01:16 +01:00
Mateusz Pusz 571df5ed33 feat: conversion from quantity_point to std::chrono::time_point added
Refers #316
2021-11-23 14:37:08 +01:00
Mateusz Pusz af928dd0c7 feat: conversion helpers from mp-units to std::chrono types added
Resolves #316
2021-11-23 11:17:47 +01:00
Mateusz Pusz 163a2502ad fix: account for an empty string in VS2022 2021-11-16 10:51:04 +01:00
Markus Hofbauer 4cd90674d5 Feat: Round (#313)
* feat: round

* add more constraints for round

* overload round for quantity

* fix clang tidy

* Validate types before return
2021-11-15 18:53:15 +01:00
Mateusz Pusz 7bf06e2b91 fix: const_iterator replaced back with iterator in formatter 2021-11-15 16:52:22 +01:00
Mateusz Pusz 0ce18dc3c7 feat: std::format usage enabled for VS2022 2021-11-15 16:28:26 +01:00
Mateusz Pusz 57ec615d79 fix: VS2022 issues related to the std::string_view iterator fixed 2021-11-15 13:57:47 +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 d5f9c6b988 Merge branch 'master' of github.com:mpusz/units 2021-11-08 18:37:44 +01:00
Mateusz Pusz 9f95799288 refactor: got rid of FMT_RUNTIME() as it is not the part of C++20 2021-11-08 18:37:37 +01:00
Mateusz Pusz 44a8d0ad1e build: forgot to commit changes in one CMake file :-( 2021-11-07 09:42:15 +01:00
Mateusz Pusz 212c9e05f2 build: check_libcxx_in_use() fixed 2021-11-06 10:35:44 +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 d853a2937a refactor: fmt algorithms were overconstrained with forward_iterator 2021-10-15 17:44:49 +02:00
Mateusz Pusz 5bd7852ae5 build: UNITS_USE_LIBFMT support improved 2021-10-15 17:43:58 +02:00
Mateusz Pusz 7acc209eb4 fix: output stream operator implementation fixed 2021-09-25 12:53:44 +02:00
Mateusz Pusz c9708fb642 refactor: safe_multiply() was incorrectly marked as static 2021-09-25 12:49:35 +02:00
Mateusz Pusz 40d6be9f75 fix: non-std error handling removed from fmt 2021-09-20 19:54:07 +02:00
Mateusz Pusz d325a0b5b5 fix: clang compilation issues fixed 2021-09-20 17:04:35 +02:00
Mateusz Pusz 55456e5d42 fix: truncating conversion issues in fmt fixed 2021-09-20 15:43:28 +02:00
Mateusz Pusz b1bd4cab2d feat: std::format support for compliant compilers added 2021-09-20 15:01:58 +02:00
Johel Ernesto Guerrero Peña 417f842585 fix: constraint recursion for GCC 11 2021-09-17 20:11:38 +02:00
Mateusz Pusz 3a997e5314 fix: explicit fmt usage added 2021-09-17 09:48:33 +02:00
Mateusz Pusz ddb6e6a90a fix: missing algorithm header added 2021-09-17 09:47:59 +02:00
Mateusz Pusz 8740857a47 build: fmt updated to 8.0.1 2021-09-16 20:24:27 +02:00
Johel Ernesto Guerrero Peña 8d8f73c0cf refactor: update hacks for LLVM 14 2021-09-14 17:34:15 +02:00