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