/// @mainpage /// @section About /// /// primesieve is a C/C++ library for quickly generating prime numbers. /// It generates the primes below 10^9 in just 0.2 seconds on a single /// core of an Intel Core i7-6700 3.4GHz CPU from 2015. primesieve can /// generate primes and prime k-tuplets up to 2^64. primesieve's memory /// requirement is about pi(sqrt(n)) * 8 bytes per thread, its /// run-time complexity is O(n log log n) operations. The recommended /// way to get started is to first have a look at a few C or C++ /// example programs. The most common use cases are iterating over /// primes using @link primesieve::iterator::next_prime() next_prime() @endlink /// or @link primesieve::iterator::prev_prime() prev_prime() @endlink and /// storing primes in a vector or an array. /// /// For more information please visit https://github.com/kimwalisch/primesieve. /// /// @section Installation Installation /// /// @li Install libprimesieve using package manager. /// @li Build libprimesieve from source. /// /// @section C_API C API /// /// @li @link primesieve.h primesieve.h @endlink - primesieve C header. /// @li @link iterator.h primesieve_iterator @endlink - Provides the primesieve_next_prime() and primesieve_prev_prime() functions. /// @li C examples - Example programs that show how to use libprimesieve. /// @li C error handling - How to detect and handle errors. /// @li Link against libprimesieve. /// /// @section CPP_API C++ API /// /// @li @link primesieve.hpp primesieve.hpp @endlink - primesieve C++ header. /// @li primesieve::iterator - Provides the @link primesieve::iterator::next_prime() next_prime() @endlink and @link primesieve::iterator::prev_prime() prev_prime() @endlink methods. /// @li C++ examples - Example programs that show how to use libprimesieve. /// @li C++ error handling - How to detect and handle errors. /// @li Link against libprimesieve. /// /// @section Performance_tips Performance tips /// /// @li libprimesieve performance tips /// @li Multi-threading /// @li SIMD (vectorization) ///