-
Notifications
You must be signed in to change notification settings - Fork 3
/
ChangeLog
115 lines (81 loc) · 3.89 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
2019-02-20 Kim Walisch <[email protected]>
Version 1.7 released.
This is a maintenance release that contains minor
improvements e.g. tests should run 10% faster.
* lib/primesieve: upgrade to version 7.4.
* travis.yml: Test using many different compiler versions.
* calculator.hpp: Silence clang-cl -Wdeprecated warning.
2018-05-08 Kim Walisch <[email protected]>
Version 1.6 released.
The computation of the second partial sieve function
P2(x, a) has been sped up by 30% due to an update to the
latest primesieve-7.0 library.
* CMakeLists.txt: Add OpenMP support for LLVM/Clang.
* CMakeLists.txt: Add Intel C++ compiler support.
* pi_legendre.cpp: Fix non-critical data race.
2018-03-18 Kim Walisch <[email protected]>
Version 1.5 released.
* libdivide.h: Update to version 1.0.
* Required CMake version is now 3.4 (previously 3.1).
* CMakeLists.txt: Fix make install issue.
* CMakeLists.txt: Do not check for C compiler.
* Add int256_t tests.
2017-12-22 Kim Walisch <[email protected]>
Version 1.4 released.
This version brings back the binary indexed tree data structure
for computing the sum of the unsieved elements in the
computation of the hard special leaves (S2_hard). Initially I
thought the binary indexed tree was not needed so I removed it in
version 1.3. But later when running extensive benchmarks I realized
primesum-1.3 had severe scaling issues because of the missing
binary indexed tree.
* S2_hard.cpp: Bring back binary indexed tree.
* BinaryIndexedTree.hpp: Reduce memory usage by 50% by storing
only odd numbers.
2017-12-07 Kim Walisch <[email protected]>
Version 1.3 released.
This version runs up to 20% faster and uses only half as much
memory as primesum-1.2. primesum now also supports 256-bit
results by default! So now there is only one primesum version for
both 128-bit and 256-bit results.
* S2_hard.cpp: Get rid of binary indexed tree.
* P2.cpp: Optimize 128-bit and 256-bit arithmetic.
* S1.cpp: Optimize 128-bit and 256-bit arithmetic.
* phi_sum.cpp: Optimize 128-bit and 256-bit arithmetic.
* S2_easy.cpp: Optimize 128-bit and 256-bit arithmetic.
* S2_trivial.cpp: Reduce memory usage.
* BitSieve.cpp: Increase bit sieve compression to 16 numbers per
byte (previously 8 numbers per byte).
2017-11-25 Kim Walisch <[email protected]>
Version 1.2 released.
This version fixes an integer overflow in primesum 128-bit
and speeds up primesum 256-bit by up to 30% due to replacing the
Boost multiprecision library with my own highly optimized
int256_t type.
* int256_t.hpp: New 256-bit signed integer type.
* Fix 128-bit integer overflow in phi_sum.cpp.
* Reduce input limit from 10^20 to 2^64-1 in primesum 128-bit.
* CMakeLists.txt: Silence OpenMP warning.
* README.md: Update build instructions.
* .travis.yml: Update to Ubuntu 14.
2016-12-19 Kim Walisch <[email protected]>
Version 1.1 released.
* CMake: Use CMake build system instead of Autotools.
* README.md: New 256-bit binaries.
2016-06-10 Kim Walisch <[email protected]>
Version 1.0 released.
This release adds a new 256-bits branch which allows to compute
prime sums for values of x > 10^20.
2016-05-24 Kim Walisch <[email protected]>
Version 0.2 released.
This version dramatically speeds up the computation of the hard
special leaves (up to 10x faster). The speed up comes from the
implementation of a special binary tree data structure for summing
the unsieved numbers in O(log n) operations as well as other low
level optimizations.
2016-05-16 Kim Walisch <[email protected]>
Version 0.1 released.
This is the first version of primesum. It uses the Deleglise-Rivat
algorithm to compute the sum of the primes below x. primesum
currently uses the __int128_t integer type so it will work correctly
up to 10^20, above 10^20 the prime sum > 2^128.