Commit Graph

3855 Commits

Author SHA1 Message Date
Mateusz Pusz
5cd07bc621 Merge pull request #634 from chiphogg/chiphogg/mod#509
Add helpers for modular arithmetic
2024-11-13 20:32:28 +01:00
Chip Hogg
b99faf051b Merge branch 'master' into chiphogg/mod#509 2024-11-13 08:41:52 -05:00
Mateusz Pusz
9dd59e845c ci: import_std now checks if at least C++23 is being used 2024-11-13 12:34:13 +01:00
Mateusz Pusz
6bcb46cc4e Merge pull request #635 from burnpanck/feature/faster-CI
Faster CI: Sparse run matrix, cancel previous jobs on the same branch
2024-11-13 07:26:47 +01:00
Yves Delley
b35e241a98 fix clang on macos-14 (arm64) 2024-11-12 22:03:43 +01:00
Yves Delley
ff118784fa exclude clang18+debug from freestanding again 2024-11-12 21:48:59 +01:00
Yves Delley
5713243d07 fix clang 16 2024-11-12 21:41:09 +01:00
Yves Delley
01f44c66fa heed github warning, and use output file instead of set-output command; also, fix freestanding 2024-11-12 21:29:42 +01:00
Yves Delley
f4c8e901ac fix boolean conan options in dynamic CI matrix 2024-11-12 21:18:36 +01:00
Yves Delley
a51462cc65 missing checkout in generate-matrix step 2024-11-12 19:09:12 +01:00
Yves Delley
cc9ea9dd1a add cancel-in-progress to all workflows 2024-11-12 19:05:04 +01:00
Yves Delley
e464677200 don't test Clang 19 just yet; fix cancel-in-progres 2024-11-12 19:02:21 +01:00
Yves Delley
7fa15d224d fix formatting 2024-11-12 18:43:50 +01:00
Yves Delley
329b9f585c Merge branch 'master' into feature/faster-CI 2024-11-12 18:20:20 +01:00
Mateusz Pusz
420ffef6c5 fix(test): missing header files added 2024-11-12 18:12:36 +01:00
Yves Delley
35ed472975 first attempt at generating sparse CI run matrix in python; also, cancel previous runs on the same branch 2024-11-12 18:07:52 +01:00
Mateusz Pusz
1ee824423e refactor: usage of v for the function argument name changed to prevent shadowing errors 2024-11-12 16:22:14 +01:00
Mateusz Pusz
73ad1f08d4 fix: fmt_test fixed to use delta to create a quantity of thermodynamic_temperature 2024-11-12 16:20:51 +01:00
Mateusz Pusz
520610ab2f test: cartesian_vector used in cgs_test 2024-11-12 14:39:04 +01:00
Mateusz Pusz
5a206c3ef1 test: cartesian_vector used in fmt_test 2024-11-12 14:38:51 +01:00
Mateusz Pusz
6c3c1fe5f7 feat: cartesian_vector added 2024-11-12 14:34:18 +01:00
Mateusz Pusz
d8574022f1 test: _surface tension_ replaced with _entropy_ in an fmt test 2024-11-12 14:21:36 +01:00
Mateusz Pusz
e4044f0e4b feat: ComplexRepresentation extended with complex operations 2024-11-12 14:20:19 +01:00
Mateusz Pusz
5ddbd62ea4 feat(example): is_vector specialization no longer needed for si_constants 2024-11-12 14:19:39 +01:00
Chip Hogg
6c982d4202 Use std:: prefix and mpu's EXPECTS_DEBUG macro 2024-11-12 08:16:53 -05:00
Mateusz Pusz
c6344c26ee style: missing empty line at the end of the file added 2024-11-12 11:31:26 +01:00
Mateusz Pusz
78204c7e5f test: runtime unit tests refactored to have a bigger granularity (less top level tests) 2024-11-12 11:27:52 +01:00
Mateusz Pusz
123b4c0f14 docs: "The same or a different kind?" of ISQ Part 6 extended 2024-11-12 09:53:31 +01:00
Mateusz Pusz
f368ef5c83 style: trailing whitespaces fixed in ISQ Part 6 2024-11-12 09:01:50 +01:00
Mateusz Pusz
0e7314e3a6 fix: math tests for inverse fixed after change in make_reference 2024-11-12 08:50:11 +01:00
Mateusz Pusz
dc6fb931ea docs: ISQ part 6 released 2024-11-11 23:37:29 +01:00
Mateusz Pusz
8ec2f94ae2 fix: make_reference should skip only the exact kinds deduced from a unit 2024-11-11 23:36:58 +01:00
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