104 Commits

Author SHA1 Message Date
0cc8e94224 Add test to find last prime before 10^9. 2025-12-11 08:06:37 +01:00
1348f4343a Document work_segment known_primes parameter. 2025-12-11 06:36:44 +01:00
83b5e4a561 Limit known-prime multiples marking until sqrt(end). 2025-12-11 06:34:42 +01:00
084aa14026 Simplify README.md 2025-12-10 15:06:27 +01:00
966574dd1f Change default sieve size to 10485760.
I don't know why yet, but this seems to be the near optimal sieve size
when testing with the benchmarking script. It's equal to `1024^2 * 10`.
2025-12-10 14:59:52 +01:00
41bc18a17c Change test to 1,000,000,000 primes. 2025-12-10 14:59:33 +01:00
5dde94ae8c Add custom sieve and trials arguments to benchmark script. 2025-12-10 14:45:59 +01:00
be3fd52cfa Improve help information. 2025-12-10 14:21:50 +01:00
0b391ed590 Allow for providing a custom sieve size. 2025-12-10 13:59:53 +01:00
f5b971e35f Add comments to test.sh for better navigation. 2025-12-10 13:52:46 +01:00
abfb1aee89 Fix test 1. 2025-12-10 13:52:12 +01:00
4b3bf0cfac Fix importing primes. 2025-12-10 13:29:02 +01:00
ba3478e6ce Optimize marking of known composites. 2025-12-10 13:12:49 +01:00
5ee76502fa Switch to (segmented) sieve of Eratosthenes. 2025-12-10 11:46:22 +01:00
72d6f4e042 Ignore callgrind files. 2025-12-07 22:50:30 +01:00
d4dc54fe59 Move prime finding to its own module. 2025-12-07 22:38:53 +01:00
c7f4f3c2c4 Remove more unnecessary casts. 2025-12-07 22:05:49 +01:00
6c789195e6 Add benchmark dependency check. 2025-12-06 17:47:42 +01:00
98cb2f58ea Implement average of multiple trials. 2025-12-05 16:19:44 +01:00
073276da10 Add benchmarking script. 2025-12-05 15:50:38 +01:00
56a094730c Remove unnecessary cast. 2025-12-05 15:50:25 +01:00
3a4a5c8849 Change help information for num option. 2025-12-05 15:47:31 +01:00
c0f3f730ae Optimize algorithm. 2025-12-05 15:41:26 +01:00
97d756bab4 Fix subtraction overflow. 2025-12-05 14:29:06 +01:00
91c9eaf1b9 Set fixed segment (array) size. 2025-12-05 14:27:22 +01:00
92bb314b55 Implement test functionality. 2025-12-05 13:55:06 +01:00
05e18e5aef Implement sieve of Atkin. 2025-12-05 13:16:37 +01:00
65314d52ac Simplify to normal VecDeque. 2025-12-05 11:29:55 +01:00
00da4333bf Fix readme filename in Cargo.toml 2025-12-04 11:59:06 +01:00
bde097302b Point legacy link to code.ortegas.org. 2025-12-04 11:56:50 +01:00
ed209116c4 Delete unnecessary comment. 2025-12-04 11:52:36 +01:00
63260b754e Use latest patch of structopt 0.3
Also updating dependencies in Cargo.lock
2025-12-04 11:51:45 +01:00
e4844db5d6 Set default jobs value using structopt default_value. 2025-12-04 11:42:29 +01:00
dfdadb9860 Rename primes_list -> prime_list.
Sounds better.
2025-12-04 11:26:10 +01:00
744efa105b Simplify CandidateGenerator::next() function. 2025-12-04 11:25:25 +01:00
22fe0953ca Use imported primes. 2025-12-04 11:24:40 +01:00
e17ebf47c3 Simplify CandidateGenerator::new(). 2025-12-04 11:10:17 +01:00
9a7e303ed8 Implement prime testing. 2025-12-04 11:05:40 +01:00
6894d250dd Improve testing script. 2025-12-04 11:04:16 +01:00
23c8dd694f Use quotations to avoid word splitting. 2025-12-04 10:00:33 +01:00
04d76e53bd Fix setting default PREFIX in (un)install scripts. 2025-12-04 09:59:35 +01:00
449a4bd2a6 Simplify install script gzip command. 2025-12-04 09:50:20 +01:00
8a81df1006 Ignore compressed manpage. 2025-12-04 09:48:58 +01:00
8b92ab252b Remove unnecessary mut on primes_list.
I thought this would be necessary in order to add to the primes_list...
not sure why I'm wrong.
2025-12-04 09:46:45 +01:00
1bc1a02761 Implement basic single-threaded prime checking. 2025-12-04 09:46:06 +01:00
82d75227c4 Remove GitLab CI file. 2025-12-04 09:38:59 +01:00
0797c7419d Impelment CandidateGenerator. 2025-12-04 09:38:08 +01:00
2965336290 Update copyright heading. 2025-12-04 08:59:49 +01:00
1b6ad7c797 Implement test and gen for already-imported values. 2025-12-04 08:58:57 +01:00
f88c221a67 Rename priems to primes_list. 2025-12-04 08:56:32 +01:00