Mateusz Pusz
98a19f6b4c
feat: dimensions design is now complete
2022-10-19 11:21:15 +02:00
Mateusz Pusz
03e064fccd
feat: equivalent support removed
2022-10-18 22:57:02 +02:00
Mateusz Pusz
a5c7934e0e
refactor: units nearly done
2022-10-18 21:24:09 +02:00
Mateusz Pusz
6e8ca72678
refactor: dimensions design cleanup
2022-10-18 17:52:52 +02:00
Mateusz Pusz
3194d45b08
refactor: exposition only members added to expression templates
2022-10-18 17:44:40 +02:00
Mateusz Pusz
e83b361465
refactor: explicit(false) added for basic_symbol_text
2022-10-18 16:08:22 +02:00
Mateusz Pusz
cf0a770d9b
refactor: quantity arithmetics implemented
2022-10-09 21:32:38 +01:00
Mateusz Pusz
4a49bdda05
refactor: V2 design update
2022-10-06 23:43:01 +01:00
Mateusz Pusz
a9b482a661
refactor: magnitude types are much shorter now
...
`units::magnitude<units::base_power<long>{2l, units::ratio{-42l, 1l}}, units::base_power<long>{3l, units::ratio{1l, 1l}}, units::base_power<long>{5l, units::ratio{-41l, 1l}}, units::base_power<long>{7l, units::ratio{1l, 1l}}, units::base_power<long>{6310543l, units::ratio{1l, 1l}}>{}` is now `units::magnitude<units::power_v<2, -42>{}, 3, units::power_v<5, -41>{}, 7, 6310543>{}`
2022-09-22 10:26:55 +02:00
Mateusz Pusz
f375797372
refactor: constexpr replaced with consteval
2022-09-22 10:24:32 +02:00
Mateusz Pusz
79ef21b2a5
refactor: power::ratio renamed to power::exponent
2022-09-22 10:23:41 +02:00
Mateusz Pusz
726c67b194
refactor: ratio usage added to power
2022-09-16 17:40:13 -06:00
Mateusz Pusz
2d5386504d
refactor: Unused code commented for now
2022-09-16 17:38:40 -06:00
Mateusz Pusz
2f365b5135
refactor: mag and mag_power changed to variable templates
2022-09-15 15:13:46 -06:00
Mateusz Pusz
70185b49c2
refactor: constexpr replaced with consteval
2022-09-15 14:52:54 -06:00
Mateusz Pusz
b614a8c887
refactor: all dimension types now have _dim as a suffix
2022-09-09 15:22:35 +02:00
Mateusz Pusz
1a2c215578
refactor: derived dimensions now can be used in the equations but will not be visible in the final type
2022-09-09 11:46:08 +02:00
Mateusz Pusz
f516e3287e
refactor: nodiscard added
2022-09-08 23:08:00 +02:00
Mateusz Pusz
a3d4c8f01f
refactor: derived_dimension can now store only powers of base dimensions
2022-09-08 23:07:14 +02:00
Mateusz Pusz
5e36dd6167
fix: expr_consolidate fixed for two the same powers
2022-09-08 21:08:06 +02:00
Mateusz Pusz
daf97a3a86
feat: initial very dirty version of V2 framework
2022-09-08 19:11:45 +02:00
Mateusz Pusz
d0eceefe80
refactor: dead ratio code removed
2022-09-06 23:49:16 +02:00
Mateusz Pusz
1238cc17c2
refactor: treat_as_floating_point constraint added for Rep in the trigonometric functions
2022-09-05 12:20:57 +02:00
Mateusz Pusz
abc429a71a
refactor: rotation angle unit renamed to revolution
2022-09-05 12:12:12 +02:00
Mateusz Pusz
bb453e4a8a
feat: cotes_angle constant added
2022-09-03 12:28:38 +02:00
Mateusz Pusz
9ae3403b18
feat: trigonometric functions on quantities support added
2022-09-01 16:25:11 +02:00
Mateusz Pusz
e40a5d631c
feat: solid angle support added
2022-09-01 12:16:47 +02:00
Mateusz Pusz
7719776711
feat: gradian support added
2022-09-01 10:48:34 +02:00
Mateusz Pusz
c1d23b41c1
refactor: pi-based magnitude renamed to mag_pi
2022-09-01 10:47:36 +02:00
Mateusz Pusz
9891eab82b
refactor: radian restored to be the reference unit for angle
2022-09-01 10:45:53 +02:00
Mateusz Pusz
74f442d316
refactor: quantity_ratio removed as it is no longer used by the framework
2022-08-31 21:23:01 +02:00
Mateusz Pusz
dac7f81a67
fix: harmonic_ concept fixed to properly account for pi-based magnitudes
2022-08-31 21:12:00 +02:00
Mateusz Pusz
8b534c8d8b
feat: degrees and rotations support added
...
Resolves #370
2022-08-31 12:57:24 +02:00
Mateusz Pusz
1b9cd8446c
refactor: ipow10() and fpow10() removed as they are no longer used
...
Resolves #311
2022-08-31 10:53:13 +02:00
Mateusz Pusz
d4f1e93d6c
Merge pull request #375 from chiphogg/chiphogg/docs
...
Update prefix documentation
2022-08-23 10:28:30 +02:00
Björn Schäpers
9c514439d1
Fix: 32 bit overflow
...
../units/src/core/include/units/magnitude.h: In instantiation of 'static constexpr intmax_t units::detail::prime_factorization<N>::get_or_compute_first_factor() [with long long int N = 149597870700; intmax_t = long long int]':
../units/src/core/include/units/magnitude.h:627:74: required from 'constexpr const intmax_t units::detail::prime_factorization<149597870700>::first_base'
../units/src/core/include/units/magnitude.h:632:54: required from 'constexpr const auto units::detail::prime_factorization<149597870700>::value'
../units/src/core/include/units/magnitude.h:631:25: required from 'struct units::detail::prime_factorization<149597870700>'
../units/src/core/include/units/magnitude.h:642:71: required from 'constexpr const auto units::detail::prime_factorization_v<149597870700>'
../units/src/core/include/units/magnitude.h:655:18: required from 'constexpr auto [requires units::Magnitude<<placeholder>, >] units::mag() [with ratio R = ratio{149597870700, 1}]'
../units/src/systems/si/include/units/isq/si/length.h:59:91: required from here
../units/src/core/include/units/magnitude.h:623:70: error: unsigned conversion from 'long long int' to 'std::size_t' {aka 'unsigned int'} changes value from '149597870700' to '3568982636' [-Werror=overflow]
623 | return static_cast<std::intmax_t>(factorizer::find_first_factor(N));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
2022-08-10 08:37:55 +02:00
Björn Schäpers
cce0d2c12b
Supress "zero as null pointer constant" warning
2022-08-10 08:18:30 +02:00
Björn Schäpers
d1130c9d39
Suppress float-equal warning
2022-08-09 16:38:29 +02:00
Chip Hogg
10b553bdbe
Adapt Aurora's Magnitude docs for mp-units
...
The major missing work here is to see how the latex math, inside dollar
signs, translates to the docs.
I also added a new constant, `pi`, to make the docs correct: this should
be much more user friendly.
This is not intended to be "complete". Rather, the goal is to deliver
the raw content so that experts can massage it.
2022-08-04 19:13:53 +00:00
Mateusz Pusz
4e044c4e43
refactor: hypot was overconstrained
2022-08-03 13:51:18 +02:00
Mateusz Pusz
4313df390c
refactor: hypot refactored to use variadic common_type version
2022-08-03 13:34:45 +02:00
Mateusz Pusz
dd4679459d
feat: hypot support added
2022-08-03 12:29:49 +02:00
Mateusz Pusz
9aa3fd4d00
fix: prefixed_alias_unit constraints fixed
2022-08-03 11:29:20 +02:00
Mateusz Pusz
0ebf85b9db
fix: unknown_coherent_unit fixed
2022-08-01 11:59:00 +02:00
Mateusz Pusz
bb5c02e09e
fix: Quantity inversion operation fixed
...
Resolves #367
2022-08-01 10:03:55 +02:00
Mateusz Pusz
5bd378a835
refactor: base_units_ratio.h renamed to absolute_magnitude.h
2022-07-31 15:45:40 +02:00
Mateusz Pusz
d50ed286b3
Merge pull request #381 from JohelEGP/llvm16
...
refactor: update hacks for LLVM 16
2022-07-30 10:49:44 +02:00
Johel Ernesto Guerrero Peña
e988e1d74e
refactor: update hacks for LLVM 16
2022-07-29 17:17:07 -04:00
Chip Hogg
f6f7f9bafb
Explicitly qualify mag<> that initializes mag member
...
This should fix clang's complaint.
2022-07-29 14:18:33 +00:00
Chip Hogg
ea83af8aa9
Rename as_magnitude<...>() to mag<...>()
...
This is easier to write and to read.
2022-07-29 01:46:06 +00:00