Commit Graph
3862 Commits
Author SHA1 Message Date
Mateusz Pusz a7cf015a3e feat: add compound assignment operators to cartesian_vector 2024-11-14 20:38:50 +01:00
Mateusz Pusz 4b5d37e83e feat: constructors of cartesian_vector refactored 2024-11-14 20:30:12 +01:00
Mateusz Pusz 7e1baf65fa Merge pull request #638 from chiphogg/chiphogg/miller-rabin#509
Add Miller-Rabin probable prime test
2024-11-14 08:27:31 +01:00
Chip Hogg cfd9ddb675 Add Miller-Rabin probable prime test
This can mark a number as either "probably prime", or "definitely
composite".  The first parameter is the base, and the second is the
number to test.

Future PRs will build up the Strong Lucas test which complements this,
and then form the Baillie-PSW test by composing the two.

Helps #506.
2024-11-13 19:56:05 -05:00
Mateusz Pusz e4bccad75c ci: names of jobs reordered to better reflect a new matrix sorting algorithm 2024-11-13 23:09:00 +01:00
Mateusz Pusz f5b9288825 fix: MP_UNITS_NONCONST_TYPE disabled for gcc-12 2024-11-13 22:48:19 +01:00
Mateusz Pusz 2590aa4b80 refactor: MP_UNITS_NONCONST_TYPE introduced to benefit from the C++23 feature 2024-11-13 21:13:22 +01:00
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