Commit Graph
1527 Commits
Author SHA1 Message Date
Chip Hogg ef6f937460 Clean up and reorder file 2022-01-08 17:18:33 -05:00
Chip Hogg 838b132a61 Finish migrating base_power to NTTP 2022-01-08 15:08:05 -05:00
Chip Hogg 9d48e6983a Refactor BasePower struct and concept
Instead of templating on `long double`, we template on "anything whose
value member is `long double`".  This is how we work around gcc-10's
lack of support for floating point NTTPs.

To access the base value, we provide `.get_base()` member functions.

The clearest and most direct way I know to express "is this a base
power" is via a type trait, which is true only for `base_power<T>`.
2022-01-08 14:40:28 -05:00
Chip Hogg 3063aebe5a Clean up pairwise_all() and strictly_increasing() 2022-01-08 14:28:53 -05:00
Chip Hogg 92b7a15d6f (partial) Switch base_power to NTTP
Apparently, gcc-10 does not support floating point NTTPs, so we'll need
to reimagine the approach.
2022-01-08 14:04:19 -05:00
Chip Hogg 6033f96267 Enable implicit ratio construction 2022-01-08 14:03:52 -05:00
Chip Hogg 14d8d96b3c Replace static_assert with template parameter constraints 2022-01-04 20:06:41 -05:00
Chip Hogg 63910131ff Try fixing MSVC 14 bug
I don't know how to test this locally.
2022-01-04 14:14:22 -05:00
Chip Hogg 4246f2db2a Remove unused variable names
Should fix clang builds
2022-01-04 14:01:42 -05:00
Chip Hogg bb4fe5040d Factor out logic into pairwise_all() helper
We could move this somewhere more generic if we want.
2022-01-03 15:20:05 -05:00
Chip Hogg cef01ba67c Remove redundant inline specifiers
`static constexpr` implies `inline`; see:
https://stackoverflow.com/a/57407675
2021-12-31 09:54:10 -05:00
Chip Hogg 998266e780 Try fixing MSVC 14.2
I don't know how to run the build directly, but it seems like this
should work.
2021-12-31 09:35:30 -05:00
Chip Hogg 626c7bfe39 Fix up for review
- 120 line limit
- uppercase template params
- doxygen comments for public APIs
- `int_base` -> `prime_base`
2021-12-30 10:47:01 -05:00
Chip Hogg 05934c8b72 Add make_base_power() helper 2021-12-29 21:37:06 -05:00
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
Mateusz Pusz a6a2549fe7 build: MSVC versioning updated according to the latest Conan support 2021-12-13 12:29:01 +01:00
Mateusz Pusz 0a5e791550 docs: range-v3 dependency note fixed on the usage page
Resolves #319
2021-12-13 10:20:12 +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 eb94f1cc0e ci: Conan MSVC 14.2 support fixed 2021-12-13 09:28:33 +01:00
Mateusz Pusz 511280d250 ci: MSVC support updated to conform to new Conan versioning for this compiler 2021-12-12 18:38:49 +01:00
Mateusz Pusz ab351433ee docs: typo fixed
Relates to #316
2021-11-26 10:30:20 +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
Mateusz Pusz f6250d69e1 ci: VS2019 configuration restored 2021-11-16 09:19:10 +01:00
Mateusz Pusz e3f0d5f3dc build: fmt::fmt dependency added only when needed 2021-11-16 08:34:56 +01:00
Mateusz Pusz 0de7991375 ci: switching to Windows 2022 for MSVC 19.30 2021-11-15 19:50:18 +01:00
Mateusz Pusz 1f7c72b4af ci: setting of a Visual Studio version for MSVC toolchain added 2021-11-15 19:39:22 +01:00
Mateusz Pusz 4320e674c8 build: msvc compiler validation fixed 2021-11-15 19:17:18 +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 0d16427116 ci: trying to add MSVC 19.30 support 2021-11-15 17:50:54 +01:00
Mateusz Pusz e19b9e93e9 test: forgot to change the other preprocessor check as well 2021-11-15 17:41:02 +01:00
Mateusz Pusz d6bb6c8bc9 test: fmt test compilation on VS2019 fixed 2021-11-15 17:12:44 +01:00
Mateusz Pusz 7bf06e2b91 fix: const_iterator replaced back with iterator in formatter 2021-11-15 16:52:22 +01:00
Mateusz Pusz 6f38e77426 test: [fmt] unit test fixed for std::format in VS2022 2021-11-15 16:36:09 +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