mlemanczyk
|
a6d408f2aa
|
Predictive scanning implemented for bydivisor method.
|
2026-01-03 20:01:22 +01:00 |
|
mlemanczyk
|
6b80e31e6c
|
Pow2MontgomeryModWindowedConvertToStandardCpu usages replaced with a comparison to MontgomeryOne avoiding unnecessary conversions. Results updated.
|
2026-01-03 01:37:40 +01:00 |
|
mlemanczyk
|
ce3079a48e
|
Restored CalculateOrderKernelLauncher kernel setup.
|
2026-01-02 23:46:30 +01:00 |
|
mlemanczyk
|
f3ed5b04a1
|
Improvements to recognize cases when we only find trivial divisors for p. Not fully fixed, yet.
|
2026-01-02 23:39:32 +01:00 |
|
mlemanczyk
|
bfb3bcb1e3
|
Fixed issue with treating Mersenne's number as valid divisor for p.
|
2025-12-29 22:44:14 +01:00 |
|
mlemanczyk
|
be92ef1ae3
|
Compilation error fixed.
|
2025-12-29 05:49:45 +01:00 |
|
mlemanczyk
|
9a6a1968b7
|
Merge branch 'simplify-bydivisor' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into simplify-bydivisor
|
2025-12-28 00:59:18 +01:00 |
|
mlemanczyk
|
87a66e4eca
|
DivisorSet scans added as EnumDependentTemplate to MersenneNumberDivisorByDivisorCpuTesterWithTemplate. New Pow2Groups scan implemented based on statistics for high divisors. MersenneNumberDivisorByDivisorPrimeScan sessions integrated into MersenneNumberDivisorByDivisorPrimeScanSessionWithTemplate. Various micro optimizations to eliminate variable, unnecessary struct creations and continue scans in higher divisor ranges, when lower ranges are exhausted. --bydivisor-k-increment command-line argument added.
|
2025-12-28 00:45:08 +01:00 |
|
mlemanczyk
|
9391954b3e
|
DivisorSet scans added as EnumDependentTemplate to MersenneNumberDivisorByDivisorCpuTesterWithTemplate. New Pow2Groups scan implemented based on statistics for high divisors. MersenneNumberDivisorByDivisorPrimeScan sessions integrated into MersenneNumberDivisorByDivisorPrimeScanSessionWithTemplate. Various micro optimizations to eliminate variable, unnecessary struct creations and continue scans in higher divisor ranges, when lower ranges are exhausted. --bydivisor-k-increment command-line argument added.
|
2025-12-28 00:39:36 +01:00 |
|
mlemanczyk
|
759614de54
|
Fixed invalid index return when EnvironmentConfig.RollingAccelerators is 1.
|
2025-12-28 00:14:23 +01:00 |
|
mlemanczyk
|
3342ead2d4
|
DeviceDependentGenerator modified to create all classes in "generated" folder and clean up generated files during dotnet clean process.
|
2025-12-28 00:13:30 +01:00 |
|
mlemanczyk
|
75a2017385
|
Heuristic and small prime factor kernels restored in PrimeOrderAcceleratorTemplate.
|
2025-12-28 00:12:39 +01:00 |
|
mlemanczyk
|
6603f65993
|
New numbers added for quick and easy reuse without struct creations.
|
2025-12-28 00:12:39 +01:00 |
|
mlemanczyk
|
6678f24887
|
Race condition fixed
|
2025-12-25 23:14:12 +01:00 |
|
mlemanczyk
|
2bf9ff233c
|
PrimeOrderCalculator converted to a template.
|
2025-12-21 18:02:59 +01:00 |
|
mlemanczyk
|
48df3df290
|
Fix to update pending list entry with the updated one, after PartialFactorPendingEntry was converted back to struct.
|
2025-12-20 16:46:57 +01:00 |
|
mlemanczyk
|
9147124ddf
|
MersenneNumberTesterTemplate extended to depend on new enums: CacheStatus & OrderDevice instead of constructor parameters to limit code branches during execution.
|
2025-12-19 22:01:21 +01:00 |
|
mlemanczyk
|
c5c42b0c19
|
MersenneNumberTesterTemplate made dependent on the calculation method to eliminate unnecessary branching.
|
2025-12-19 20:01:45 +01:00 |
|
mlemanczyk
|
d32eea0212
|
DeviceDependentGenerator extended to allow generation of enum dependent templates. Name suffix separate to its own attribute.
|
2025-12-19 19:01:38 +01:00 |
|
mlemanczyk
|
a21ab3134e
|
MersenneNumberTester converted to device dependent MersenneNumberTesterTemplate.
|
2025-12-19 18:25:27 +01:00 |
|
mlemanczyk
|
74837a407e
|
MersenneDivisorCycles converted to device template.
|
2025-12-19 04:03:27 +01:00 |
|
mlemanczyk
|
31ecf24522
|
TODOs added.
|
2025-12-19 00:10:21 +01:00 |
|
mlemanczyk
|
870819dec6
|
MersenneNumberDivisorByDivisorCpuTesterWithTemplate optimizations
|
2025-12-19 00:10:09 +01:00 |
|
mlemanczyk
|
4edad10be8
|
MethodImpl attributes adjustments.
|
2025-12-18 20:10:41 +01:00 |
|
mlemanczyk
|
ed299edf56
|
MersenneNumberDivisorByDivisorCpuTesterWithCpuOrder, MersenneNumberDivisorByDivisorCpuTesterWithHybridOrder & MersenneNumberDivisorByDivisorCpuTesterWithGpuOrder converted to device dependent template MersenneNumberDivisorByDivisorCpuTesterWithTemplate.
|
2025-12-18 20:10:20 +01:00 |
|
mlemanczyk
|
2236c3ec35
|
MersenneCpuDivisorScanSessionWithCpuOrder, MersenneCpuDivisorScanSessionWithHybridOrder & MersenneCpuDivisorScanSessionWithGpuOrder converted to device dependent templates
|
2025-12-18 19:46:21 +01:00 |
|
mlemanczyk
|
8ea975f2ed
|
DeviceDependentGenerator added to tasks.json. It can now generate the files during VS Code builds. Ignore list updated.
|
2025-12-18 09:39:56 +01:00 |
|
mlemanczyk
|
af7c9491e4
|
DeviceDependentGenerator can now add suffix to the name of the generated types.
|
2025-12-18 09:23:41 +01:00 |
|
mlemanczyk
|
9faa397364
|
DeviceDependentGenerator added.
|
2025-12-18 07:37:53 +01:00 |
|
mlemanczyk
|
23748ad3d2
|
MethodImpl attributes added. Unnecessary try...finally blocks removed.
|
2025-12-18 05:31:27 +01:00 |
|
mlemanczyk
|
2abc6aae49
|
--mersenne=bydivisor testers and sessions integrated and converted to structs.
|
2025-12-18 05:07:31 +01:00 |
|
mlemanczyk
|
3c80221105
|
MontgomeryDivisorDataPool.Rent / .Return removed as we no longer pool Montgomery divisor data. UInt128Extensions.MontgomeryDivisorDataPool variables optimized.
|
2025-12-16 02:27:29 +01:00 |
|
mlemanczyk
|
b7773adad8
|
PrimeOrderCalculator.ExponentLoweringCpu optimized to reuse factors & exponents span instead of its own buffers
|
2025-12-15 20:22:03 +01:00 |
|
mlemanczyk
|
566cbc3599
|
PrimeOrderCalculator.Cpu optimizations.
|
2025-12-15 17:22:55 +01:00 |
|
mlemanczyk
|
97fd041ec0
|
Tiny cleanup for improved readability.
|
2025-12-15 04:37:03 +01:00 |
|
mlemanczyk
|
2c18818ac8
|
PrimeOrderCalculator.PopulateSmallPrimeFactorsCpu, .ExtractSmallPrimeExponent & ULongExtensions.ReduceCycleRemainder optimized.
|
2025-12-15 04:36:47 +01:00 |
|
mlemanczyk
|
048d1576ef
|
Tiny cleanup.
|
2025-12-15 04:33:09 +01:00 |
|
mlemanczyk
|
974b1da873
|
Small optimizations
|
2025-12-14 01:35:13 +01:00 |
|
mlemanczyk
|
e0daccdc1a
|
BTree fine-tuned.
|
2025-12-14 00:19:53 +01:00 |
|
mlemanczyk
|
bca059c4f2
|
Initial BTree version implemented.
|
2025-12-14 00:03:51 +01:00 |
|
mlemanczyk
|
e8cca74f68
|
DeeterministicRandom types optimized.
|
2025-12-13 16:00:28 +01:00 |
|
mlemanczyk
|
1b3882addc
|
PrimeOrderCalculator.PartialFactorCpu variables optimized. Removed constant parameter from AddFactorToCollector.
|
2025-12-13 15:36:32 +01:00 |
|
mlemanczyk
|
079b2d5b72
|
PartialFactorPendingEntry changed back to struct for better performance.
|
2025-12-13 14:28:01 +01:00 |
|
mlemanczyk
|
a185149eba
|
PrimeOrderCalculator.PartiaFactorCpu optimized to use one-time allocation list and stack.
|
2025-12-13 14:21:37 +01:00 |
|
mlemanczyk
|
ec080ade7f
|
PendingEntry renamed to PartialFactorPendingEntry and moved to its own file. PrimeOrderCalculator.PartialFactor partially optimized to use fixed buffers factors & exponents.
|
2025-12-13 05:11:02 +01:00 |
|
mlemanczyk
|
8fbe248a49
|
Revert "Reusable buffers introduced."
This reverts commit 39a66fdef1.
|
2025-12-13 04:17:30 +01:00 |
|
mlemanczyk
|
39a66fdef1
|
Reusable buffers introduced.
|
2025-12-13 04:16:05 +01:00 |
|
mlemanczyk
|
8b0d09cc9c
|
Fixed capacity stack improvements to make sure that each thread gets its own instance.
|
2025-12-12 14:43:49 +01:00 |
|
mlemanczyk
|
15bcde1776
|
SemaphoreSlim replaced with PollingSemaphore.
|
2025-12-12 03:41:13 +01:00 |
|
mlemanczyk
|
45c477de5a
|
DefaultThreadPoolCapacity updated to avoid too big arrays without reason.
|
2025-12-12 00:57:51 +01:00 |
|