Summary
This program is a variation of the Sieve of Eratosthenes for finding prime numbers described in Section 22.1. The concept of primality applies to many algebraic structures and not just to the integers and so this program includes a generic form of the sieve and three instantiations.
One instantiation gives the normal primes and so is based on the type Integer.
The second is based on complex or Gaussian integers of the form p + iq where p and q are integers and i is of course the square root of minus one.
The third is based on polynomials whose coefficients are integers modulo 2, that is can only be zero or one. Examples of such polynomials are x + 1 and x3 + x + 1.
The program asks the user to identify the kind of primes to be searched for and how many values to test. It prints the primes as they are found and concludes by noting the total number found.
The generic package Eratosthenes contains the various tasks. It has a number of generic parameters defining the algebraic structure. There is also a private generic package Eratosthenes. Frame containing the interface to the display mechanism. In this demonstration exercise the display mechanism is simplified to just printing out each new prime on a new line but the interface is retained for compatibility with the example in Chapter 22.
- Type
- Chapter
- Information
- Programming in Ada 2012 , pp. 627 - 630Publisher: Cambridge University PressPrint publication year: 2014