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.