Chip Hogg
a306472a6b
Reuse callables in pairwise_all tests
2022-01-11 19:44:10 -05:00
Chip Hogg
08818ac6a8
Make pow()'s argument a simple (non-template) parameter
2022-01-11 19:19:25 -05:00
Chip Hogg
a8d6c890a5
Move pi_to_the to the test file
2022-01-11 19:12:27 -05:00
Chip Hogg
cee4be2b67
Simplify namespaces and canonicalize formatting
...
The motivation for the `mag` sub-namespace was to distinguish something
like `mag::product_t<...>` from `dim::product_t<...>`, based on the
idioms of Aurora Units. However, we have no need for a `product_t` type
trait, since we can just use `operator*()`, so we can eliminate this
sub-namespace.
2022-01-10 14:28:02 -05:00
Chip Hogg
c64f392dc3
Remove some extra spaces
2022-01-10 14:23:44 -05:00
Chip Hogg
f783d7f274
Handle exp explicitly in as_magnitude()
...
The new test actually passed without modifying the code. However, that
might be implementation-dependent (presumably based on canonicalization
of the `ratio` template parameter), so I wanted a more obviously correct
implementation.
2022-01-08 19:34:42 -05:00
Chip Hogg
409aaf4636
Generalize inverse() to pow<...>()
2022-01-08 19:34:21 -05:00
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
Chip Hogg
a80378cae8
Support addition and negation in ratio
2021-12-29 21:21:57 -05: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
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
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
ca3d111579
fix: CTAD test disabled for most of the compilers
2021-10-20 20:18:15 +02: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
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
620835db97
test: Numeric rounding error commented out
2021-09-10 08:08:02 +02:00
Mateusz Pusz
120d863c40
test: derived_quantity-related compilation error fixed
2021-09-09 09:26:23 +02:00
rstein
cc5318e5cc
refactored HEP units into separate files and corrected namespace where necessary
2021-08-04 13:46:48 +02:00
Ralph J. Steinhagen
322cde70b9
added HEP specific units and definitions
...
in accordance with https://www.bipm.org/documents/20126/41483022/SI-Brochure-9.pdf#page=147
see also disccusion thread #292
2021-08-03 10:56:47 +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