Chip Hogg
1110e53e38
Never mind
...
Apparently, that's not the right approach.
2024-11-11 14:34:47 -05:00
Chip Hogg
a6d34b40a6
Include <bits/types.h>
...
Apparently some freestanding builds need this?
2024-11-11 13:35:37 -05:00
Chip Hogg
8a7483f7ea
Add helpers for modular arithmetic
...
The prime-testing techniques we will use (Miller-Rabin, Strong Lucas)
all make heavy usage of modular arithmetic. Therefore, we lay those
foundations here, adding utilities to perform the basic arithmetic
operations robustly.
Since these are internal-only helper functions, we don't bother checking
the preconditions, although we state them clearly in the contract
comment for each utility. After C++26, we could add contracts for
these.
Helps #509 .
2024-11-11 12:55:41 -05:00
Mateusz Pusz
727a898141
feat: derived_XXX are not constrained with SymbolicConstant
2024-11-09 23:03:24 +01:00
Mateusz Pusz
a628f1d107
feat: per and power made final
2024-11-09 23:02:49 +01:00
Mateusz Pusz
b4810089ec
fix: gcc-12 compilation fixed
...
Resolves #632
2024-11-09 23:02:12 +01:00
Mateusz Pusz
4db913a592
fix: make_magnitude fixed for gcc-12
2024-11-09 20:42:17 +01:00
Mateusz Pusz
ca4dbfa9b6
fix: extraneous semicolon removed
2024-11-08 13:39:16 +01:00
Mateusz Pusz
0c46d4ecfe
refactor: type_list moved to implementation details
2024-11-08 13:36:43 +01:00
Mateusz Pusz
8423e50777
feat: SymbolicArg applied to expression templates
2024-11-08 13:30:55 +01:00
Mateusz Pusz
1702853893
refactor: SymbolicConstant moved to _expression_template.h_
2024-11-08 13:27:25 +01:00
Mateusz Pusz
06853b7aeb
fix: const was leaking to some SymbolicConstants
2024-11-08 12:57:29 +01:00
Mateusz Pusz
5097096915
test: lots of tests for complex quantities
2024-11-07 18:42:20 +01:00
Mateusz Pusz
da50348115
feat: 💥 RepresentationOf concept now also accepts a QuantitySpec and accepts any representation character for quantity kinds
2024-11-07 18:39:32 +01:00
Mateusz Pusz
75b50b8d2c
feat: complex.h added
2024-11-07 10:58:51 +01:00
Mateusz Pusz
8f062bfa87
refactor: mp_units.core defined in terms of core.h
2024-11-07 10:24:28 +01:00
Mateusz Pusz
34816574ca
fix: missing core.h added to CMake
2024-11-07 10:23:44 +01:00
Mateusz Pusz
10a82268aa
feat: negation requirement added to Representation concepts
2024-11-07 08:49:31 +01:00
Mateusz Pusz
315e47c257
fix: electric_dipole_moment is now defined in terms of displacement instead of position_vector
2024-11-06 18:46:24 +01:00
Mateusz Pusz
6896d8e086
fix: velocity is now defined in terms of displacement instead of position_vector
2024-11-06 18:46:01 +01:00
Mateusz Pusz
0c692dca8c
fix: position_vector is a specialized displacement
2024-11-06 18:30:51 +01:00
Mateusz Pusz
4e6abda727
docs: 2.4.0 release announcement published
2024-11-05 19:46:13 +01:00
Mateusz Pusz
c2c02dff59
ci: Conan CI restored for tags to properly promote a package to the Artifactory
2024-11-05 19:38:53 +01:00
Mateusz Pusz
c7303cc5fb
refactor: representation concepts refactored + some quantities switched to complex
2024-11-05 19:09:16 +01:00
Mateusz Pusz
1595fca9a9
build: version bumped to 2.5.0
2024-11-05 18:37:06 +01:00
Mateusz Pusz
6e06eddf20
docs: CHANGELOG updated
v2.4.0
2024-11-05 18:31:55 +01:00
Mateusz Pusz
f7dd05e989
ci: documentation action limited only to commits that change documentation files
2024-11-05 18:25:11 +01:00
Mateusz Pusz
ded2bf4db4
ci: non-documenation actions should not run on tags
2024-11-05 18:24:14 +01:00
Mateusz Pusz
c4b5e468e7
ci: building docs on new git tag fixed
2024-11-05 18:02:32 +01:00
Mateusz Pusz
4ac237e699
ci: documentation action should run on a new tag as well
2024-11-05 17:54:29 +01:00
Mateusz Pusz
57a030a602
docs: 2.4.0 release
2024-11-05 17:30:38 +01:00
Mateusz Pusz
98f173993d
docs: CHANGELOG udpated
2024-11-05 17:26:01 +01:00
Mateusz Pusz
16dbce6948
docs: 2.4.0 release announcement updated
2024-11-05 17:25:45 +01:00
Mateusz Pusz
2892fd83b0
test: more get_common_quantity_spec tests added
2024-11-05 08:06:45 +01:00
Mateusz Pusz
65a3c80a5f
refactor: max used in one of the explode overloads
2024-11-05 08:06:04 +01:00
Mateusz Pusz
43ea6adc64
refactor: TagType renamed to SymbolicConstant
2024-11-05 08:00:10 +01:00
Mateusz Pusz
cc25f9b0de
refactor: get_complexity refactored to returned maximum complexity of an element (instead of the sum of elements)
2024-11-04 19:13:48 +01:00
Mateusz Pusz
467d9a5558
refactor: get_complexity refactored to be 0-based and not account for a number of arguments in a list
2024-11-04 18:04:01 +01:00
Mateusz Pusz
73a003d0ef
test: additional kind to quantity spec convertibility test added
2024-11-04 18:02:37 +01:00
Mateusz Pusz
c45df2a4bd
fix: convertible_kinds implementation fixed
2024-11-04 18:02:09 +01:00
Mateusz Pusz
d249bc1400
docs: grammar and spelling of ISQ Part 5 improved
2024-11-04 11:58:01 +01:00
Mateusz Pusz
614ecb5c42
Merge branch 'master' of github.com:mpusz/mp-units
2024-11-04 10:58:32 +01:00
Mateusz Pusz
21e0f9b4b1
docs: ISQ Part 5 published
2024-11-04 10:53:32 +01:00
Mateusz Pusz
f461cf479b
test: test for lack of consitency between op+ and op+= for quantity_point
2024-11-04 09:41:11 +01:00
Mateusz Pusz
5810420277
refactor: 💥 tag types should not expose their members
2024-11-04 09:40:25 +01:00
Mateusz Pusz
8217399a88
fix: QuantityConvertibleTo used in quantity_point compound assignment
...
Resolves #215
2024-11-03 10:45:10 +01:00
Mateusz Pusz
046a83224e
refactor: Forwarding renamed to Mutable
...
Resolves #215
2024-11-02 22:45:36 +01:00
Mateusz Pusz
80a4d6bc80
refactor: QuantityLikeImpl refactored to conform to API Reference by @JohelEGP
2024-11-02 13:56:49 +01:00
Mateusz Pusz
9d05e31af7
refactor: point_origin_interface::op- cleanup
2024-11-02 13:45:42 +01:00
Mateusz Pusz
93e112f040
docs: small typos fixed in the ISQ series
2024-10-30 15:47:09 +01:00