35 lines
1.3 KiB
Plaintext
35 lines
1.3 KiB
Plaintext
Change Log
|
|
==========
|
|
|
|
- v0.1: Initial release
|
|
- Basic prime calculation.
|
|
- Uses a growing vector of known primes and gets the modulus of the number divided by these primes.
|
|
- Uses type `long long' to hold prime numbers.
|
|
- v0.2: Multi-Precision
|
|
- Switch to C.
|
|
- Uses GNU Multiple Precision library (GMP) to hold prime numbers, allowing for 'infinite' size.
|
|
- Add `likely()' and `unlikely()' macros to optimize.
|
|
- v0.2.1: Memory Leak Fixes
|
|
- Fixed a major memory leak at the end of the program.
|
|
- Added more optimizers.
|
|
- v0.3: Optimizations
|
|
- Algorithm skips half the known primes.
|
|
- Removed `likely()' and `unlikely()' macros due to lack of information.
|
|
- Improved performance.
|
|
- v0.4: Fixed Algorithm
|
|
- Fixed algorithm to actually calculate primes.
|
|
- Added extra C99 optimizations.
|
|
- v0.5: Minor Changes
|
|
- Use `size_t' instead of `unsigned long long int'.
|
|
- Minor optimizations to the algorithm.
|
|
- Added commandline argument parsing.
|
|
- v0.6: User Control
|
|
- Allow user to choose base in which the prime numbers are printed.
|
|
- Give option for primes to be saved to a file upon exit.
|
|
- Free memory and leave instead of emergency exit.
|
|
- v0.7: Data Saving
|
|
- Allow user to save found primes to be loaded later.
|
|
- User can save and read primes in raw output.
|
|
- v1.0: Parallelization
|
|
- Indivisible is now completely parallelized.
|