1 #ifndef GETPRIME_R_H_
2 #define GETPRIME_R_H_
3 
4 #include "ecm_int.h"
5 
6 struct prime_info_s {
7   ecm_uint offset;  /* offset for current primes */
8   ecm_int current;          /* index of previous prime */
9   ecm_uint *primes;  /* small primes up to sqrt(p) */
10   ecm_uint nprimes; /* length of primes[] */
11   unsigned char *sieve;  /* sieving table */
12   ecm_int len;              /* length of sieving table */
13   ecm_uint *moduli;  /* offset for small primes */
14 };
15 typedef struct prime_info_s prime_info_t[1];
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 /* The getprime_mt function returns successive odd primes, starting with 3. */
22 void prime_info_init (prime_info_t);
23 void prime_info_clear (prime_info_t);
24 ecm_uint getprime_mt (prime_info_t);
25 
26 #ifdef __cplusplus
27 }
28 #endif
29 
30 #endif	/* GETPRIME_R_H_ */
31