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