Commit Graph
168 Commits
Author SHA1 Message Date
Chip Hogg 325cbc8fa9 Finish adding tests 2022-01-08 18:14:22 -05:00
Chip Hogg f12fde6204 Add some tests 2022-01-08 17:57:10 -05:00
Chip Hogg 0a470f2617 Replace make_ratio with as_magnitude<ratio>
It's cleaner to just have the one way.
2022-01-08 17:29:40 -05:00
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 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 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 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 2c229710e7 Create and use BasePower concept 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
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 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 6f38e77426 test: [fmt] unit test fixed for std::format in VS2022 2021-11-15 16:36:09 +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
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 506408a316 fix: fmt_test compilation fixed 2021-11-08 19:05:08 +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 2333c4b3ea build: CMake targets generated by Conan updated 2021-11-04 12:09:54 +01:00
Mateusz Pusz ed1b2d2647 fix: Some MSVC-specific special cases removed 2021-09-23 19:16:44 +02:00
Mateusz Pusz b1bd4cab2d feat: std::format support for compliant compilers added 2021-09-20 15:01:58 +02:00
Mateusz Pusz 8740857a47 build: fmt updated to 8.0.1 2021-09-16 20:24:27 +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 46e1e5e932 refactor: US system renamed to USCS 2021-04-16 12:40:52 +02:00
Mateusz Pusz 70bff31d06 feat: quantity aliases support addded 2021-04-15 19:13:25 +02:00
Mateusz Pusz 8ca2b25349 fix: torque literal fixed + experimental_angle example refactored 2021-04-07 19:07: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 dfd209ed14 fix: femtotonne enabled 2021-04-02 18:57:17 +02:00
Mateusz Pusz 1a5b4fc85e refactor: UDLs support switched off by default 2021-04-02 18:56:28 +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
Mateusz Pusz 37cfc53d1d refactor: IWYU applied to the source files
`alternative_namespaces` examples left out as I consider them a subject for removal in the nearest future.
2021-03-30 13:21:05 +02:00
Mateusz Pusz 1197fa1ec4 fix: MSVC shadowing warning disabled for fmt_unit_test.cpp 2021-03-19 23:31:36 +01: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
Mateusz Pusz 07cb258eff Merge branch 'add_symbolrate' of https://github.com/go2sh/units into go2sh-add_symbolrate 2021-03-19 07:35:20 +01:00
Mateusz Pusz 6c4dc95897 Merge branch 'add_si_prefix_bit' of https://github.com/go2sh/units into go2sh-add_si_prefix_bit 2021-03-19 07:24:53 +01:00
Mateusz Pusz 901b09fd52 refactor: quantity::count() renamed to quantity::number()
Resolves #259
2021-03-19 06:47:37 +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 bbbb77286c refactor: physical replaced with isq
Refers to #249
2021-03-16 12:03:25 +01:00
Mateusz Pusz 23720d055e refactor: Refactored the library file tree
Resolves #249
2021-03-16 09:32:28 +01:00