Commit Graph
125 Commits
Author SHA1 Message Date
Marek Lemańczyk fea95509a7 BitContradiction adjusted for p >= 138 mln, based on carry out analysis of the first 1024 columns. 2026-02-12 17:04:23 +01:00
Marek Lemańczyk 22cc8f368f BitContradiction improvements. 2026-02-10 11:52:26 +01:00
mlemanczyk f1eaab8582 BitContradiction filtering changes to cut invalid divisors during checks. 2026-01-31 11:48:56 +01:00
mlemanczyk b31aab4d89 BitContradiction GPU performance improvements. Local variables partially optimized to limit registry pressure. 2026-01-26 15:02:59 +01:00
mlemanczyk 5c77d6c3af BitContradiction GPU bug fixes. 2026-01-26 03:38:35 +01:00
mlemanczyk 46801737dc BitContradiction GPU implementation fixes 2026-01-25 19:06:02 +01:00
mlemanczyk 17763033e1 Initial BitContradiction implementation on GPU 2026-01-25 16:37:22 +01:00
mlemanczyk b2a6a1c332 BitContradiction performance improvements. Exact powers of 2 cases will reuse previous calculation results and transform them for the next q divisor. 2026-01-24 01:28:09 +01:00
mlemanczyk edecffe10b Console print out interval switched to PerfectNumberConstants.ConsoleInterval 2026-01-22 15:36:12 +01:00
mlemanczyk e53f0b7a95 Console output limit restored to avoid flooding console with entries. 2026-01-20 21:47:22 +01:00
mlemanczyk b934112074 BitContradiction performance improvements. 2026-01-20 00:39:31 +01:00
mlemanczyk 4f12375427 Restored K state saving in BitContradiction scan. Tiny cleanup. 2026-01-18 22:04:15 +01:00
mlemanczyk 778a36d2eb BitContradiction and DETAILED_LOG fixes 2026-01-18 16:10:17 +01:00
mlemanczyk 1a97cdf754 BitContradiction cleanup and performance improvements. LUT increased to increase steps. 2026-01-18 01:02:06 +01:00
mlemanczyk 41e421e1eb BitContradiction improvements - 0.043s, p=138000001+ 2026-01-17 15:37:43 +01:00
mlemanczyk d0dbb8f92a BitContradiction solvers improvements to increase early exclusions. 2026-01-13 04:20:34 +01:00
mlemanczyk c6dea4afcc Compilation error fixed. 2026-01-13 02:02:29 +01:00
mlemanczyk bf93bcff1a BitContradictionSolverWithQMultiplier improvements. BitContradictionSolverWithAMultiplier added. 2026-01-12 20:50:54 +01:00
mlemanczyk 2b803abcac BitContradiction mode modified to check for contradictions from both sides. 2026-01-12 01:49:10 +01:00
mlemanczyk d88ad25476 Initial BitTree implementation added. 2026-01-09 16:13:16 +01:00
mlemanczyk 45e3455ff3 DivisorSet.BitContradiction mode added to --mersenne=bydivisor. 2026-01-04 17:59:02 +01:00
mlemanczyk 6a924f4041 DivisorSet.Percentile, Additive and TopDown modes implemented. State files ported to LMDB => FASTER to avoid millions of files in folders. 2026-01-04 12:17:27 +01:00
mlemanczyk 27f65baf3d Predictive and default bydivisor modes will use separate files to track the last checked k to prevent impacting results between modes. 2026-01-03 20:53:57 +01:00
mlemanczyk a6d408f2aa Predictive scanning implemented for bydivisor method. 2026-01-03 20:01:22 +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 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 74837a407e MersenneDivisorCycles converted to device template. 2025-12-19 04:03:27 +01:00
mlemanczyk 870819dec6 MersenneNumberDivisorByDivisorCpuTesterWithTemplate optimizations 2025-12-19 00:10:09 +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 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 048d1576ef Tiny cleanup. 2025-12-15 04:33:09 +01:00
mlemanczyk e8cca74f68 DeeterministicRandom types optimized. 2025-12-13 16:00:28 +01:00
mlemanczyk 260aa19e44 Pools renamed to FixedCapacityPools. Other fixed capacity collections added. Queues, concurrent queues and standard stacks replaced with fixed capacity stacks. MethodImplOptions.AggressiveInlining and .AggressiveOptimization added to simple methods and getters / setters. Variables optimized in few places. 2025-12-11 21:10:19 +01:00
mlemanczyk 131b3265bc PrimeOrderCalculator.Cpu cleaned up - hybrid & GPU related methods moved to their corresponding files. 2025-12-11 00:00:12 +01:00
mlemanczyk 5df2cc7f9b using cleaned up. 2025-12-10 23:59:04 +01:00
mlemanczyk 05d3061c47 MethodImplOptions.AggressiveOptimization & MethodImplOptions.AggressiveInlining optimized. Small optimizations. 2025-12-10 19:59:51 +01:00
mlemanczyk f7dbc017a9 Modulo operators replaced with steppers, where possible. 2025-12-08 20:57:47 +01:00
mlemanczyk 6887111128 BigInteger-friendly steppers added. MersenneResidueStepper converted to struct. Manual residue tracking replaced with steppers. Modulo operations replaced with steppers. 2025-12-07 19:16:45 +01:00
mlemanczyk 86f20ed083 Support for q > 2^64 added in --mersenne=bydivisor mode 2025-12-05 23:33:21 +01:00
mlemanczyk 86192a71b0 Divisor checking optimized to only flag if divisor was found or not without returning complete array of hits. We'll now also track residues for 13, 17 & 19 as the most frequent ones. 2025-12-03 00:57:25 +01:00
mlemanczyk f43c67c86f Tasks will now save calculations progress and resume calculation upon restart. 2025-12-02 00:42:38 +01:00
mlemanczyk 941733905b Hybrid device mode implemented as the current --mersenne=bydivisor CPU execution path. CPU path is now limited to CPU calculations, only. 2025-12-01 03:45:39 +01:00
mlemanczyk a296e62d4d --min-k command-line argument added. Partial factoring switched back to CPU. 2025-11-26 22:03:52 +01:00