1294 Commits

Author SHA1 Message Date
Kim Walisch
1f193bf91e Fix undefined behavior (#120) 2026-05-20 22:35:43 +02:00
Kim Walisch
b12255f1de Fix missing function params 2026-05-02 09:49:16 +02:00
kimwalisch
e2b1e1b735 Fix undefined behavior 2026-05-02 09:30:26 +02:00
kimwalisch
170fe1436a Remove unused function 2026-05-01 20:55:22 +02:00
kimwalisch
5df10316c4 Remove unused file 2026-05-01 09:17:17 +02:00
kimwalisch
1a4a3b9d41 Fix std::tolower() undefined behavior 2026-04-30 19:28:59 +02:00
Kim Walisch
13ea92f48e Make StatusS2.cpp lockfree ready (#115) 2026-04-26 20:30:30 +02:00
kimwalisch
e5f904a6fa Prevent spurious failures 2026-04-25 14:20:30 +02:00
Kim Walisch
6437321ef4 New lockfree thread load balancer (#114) 2026-04-24 20:20:50 +02:00
Kim Walisch
75d0cfec66 Add RiemannR(psi(x)) implementation (#112) 2026-04-14 20:11:25 +02:00
Kim Walisch
7af90fd217 Improve multi-threading in nth prime sieve (#111) 2026-04-11 17:53:08 +02:00
kimwalisch
10cb601854 Use const 2026-04-01 21:35:49 +02:00
Kim Walisch
00c5ef7e69 Improve Vector exception safety 2026-04-01 19:52:59 +02:00
kimwalisch
be5cff53e9 Fix potential move deallocation issue 2026-03-30 22:01:13 +02:00
kimwalisch
e8c902ae92 Fix potential double free issue 2026-03-30 21:28:14 +02:00
Kim Walisch
aa14890b7a Gourdon D algorithm: branchfree + AVX512/ARM SVE acceleration (#109) 2026-03-23 19:23:46 +01:00
Kim Walisch
fe10f34602 Optimized switch loop (#107)
I found that the use of `m += adv[0]` inside the inner sieving loop instead of e.g. `m += prime * 6 + 3` is the reason the alternative sieving algorithm that I recently merged is faster than the old loop using Duff's device. Hence, I backported that improvement to the old algorithm which is now even faster.
2026-03-06 18:13:23 +01:00
Kim Walisch
0e8e19a6ce New sieving algorithm with reduced CPU instruction cache misses (#106) 2026-03-03 19:25:05 +01:00
kimwalisch
7f98c183d6 Bring back WITH_DIV32 option 2026-02-27 21:53:30 +01:00
kimwalisch
512b36fedd Improve x64 assembly 2026-02-27 13:04:21 +01:00
kimwalisch
4532dc68c0 Update version to 8.3 2026-02-24 21:11:05 +01:00
Kim Walisch
b8c2923915 Update to libdivide v5.3.0 2026-02-16 17:33:59 +01:00
Kim Walisch
2bba0a471e Update to latest libdivide 2026-02-16 17:13:02 +01:00
Kim Walisch
fa0561f791 Increase version to 8.2 2026-02-01 14:51:13 +01:00
Kim Walisch
21cc73f2f4 Simplify CONDITIONAL_MOVE() macro 2025-12-28 11:48:48 +01:00
Kim Walisch
e90ecb2279 Rename macro parameter 2025-12-28 09:47:29 +01:00
Kim Walisch
a68dacc954 Improve GCC conditional move code gen 2025-12-27 22:39:43 +01:00
Kim Walisch
e62949a11c Increase version to 8.1 2025-12-26 13:40:23 +01:00
Kim Walisch
c232d55db6 Use std::to_chars() from C++17 instead of std::ostringstream (#97) 2025-12-12 22:07:06 +01:00
Kim Walisch
7eadc77a4e Remove unused function 2025-12-07 22:05:12 +01:00
kimwalisch
82879fa1e3 Update to latest version 2025-12-06 21:44:53 +01:00
Kim Walisch
3c846cc525 Update to latest calculator.hpp 2025-12-06 18:41:03 +01:00
Kim Walisch
68164cda09 Update error message 2025-12-06 14:19:12 +01:00
Kim Walisch
11eb2fe6b6 Update to latest version 2025-12-06 13:46:40 +01:00
Kim Walisch
0c162242d7 Remove unused functions 2025-12-06 10:52:33 +01:00
Kim Walisch
2bf67d4052 Update version to 8.0 2025-12-05 20:22:30 +01:00
Kim Walisch
bf5ea06637 Breaking C/C++ API Changes 2025-12-05 19:29:42 +01:00
Kim Walisch
beb91dfdd9 Fix undefined behavior 2025-12-05 16:43:54 +01:00
kimwalisch
a2d394fd94 Detect INT_MIN * -1 2025-12-04 21:12:53 +01:00
Kim Walisch
abec973267 Drop constexpr to support C++11 2025-12-04 18:42:40 +01:00
Kim Walisch
34cc303784 Add more integer overflow checks 2025-12-04 18:32:32 +01:00
kimwalisch
5836508fd5 Refactor 2025-12-03 21:07:22 +01:00
Kim Walisch
73e093528d Simplify calculator::error 2025-12-03 19:38:54 +01:00
Kim Walisch
d3a92de4da Detect integer overflows 2025-12-03 19:20:20 +01:00
Kim Walisch
0dae659f0c Remove spaces at end of line 2025-12-02 10:14:28 +01:00
Kim Walisch
a6c04c70e0 Refactor 2025-12-01 19:05:30 +01:00
Kim Walisch
5b4df0182f Refactor multiarch support 2025-12-01 17:21:16 +01:00
Kim Walisch
44068d96a3 Improve instruction level parallelism of AC algorithm (#94) 2025-11-21 12:06:28 +01:00
Kim Walisch
20bf980abb Rename --verify to --double-check (#93) 2025-11-03 10:44:53 +01:00
Kim Walisch
a7541c4230 Add pi(x) result assertion (#91) 2025-07-08 21:12:23 +02:00