/usr/include/linbox/randiter/gmp-random-prime.h is in liblinbox-dev 1.1.6~rc0-4.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #ifndef __GMP_RANDOM_PRIME_H
#define __GMP_RANDOM_PRIME_H
#include <linbox/integer.h>
namespace LinBox {
/** \brief generating random prime integers, using the gmp library.
* Similar to random-prime.h, but return type is integer, not long, allowing
* for larger primes.
* @author Dan Roche
*/
class GmpRandomPrime {
public:
integer max;
/** Create a new random prime generator. Primes generated will
* be <= max.
*/
GmpRandomPrime( integer m ) :max(m) {}
inline integer randomPrime() const {
integer test;
do test=test-1;//integer::nonzerorandom( test, max );
while( !probab_prime( test, 10 ) );
return test;
}
// I believe reference returned is appropriate. -bds
//inline integer randomPrime( integer& p ) {
inline integer& randomPrime( integer& p ) {
do integer::nonzerorandom( p, max );
while( !probab_prime( p, 10 ) );
return p;
}
};
}
#endif
|