int factorize(word n,word *a,word *b); returns 0 and sets *a and *b if n = (*a) * (*b) returns 1 if n is a prime number int testpower(word p,word b); returns 1 if p is a power of b and 0 otherwise word powmod(word x,word a,word n); returns x^a mod n int gcd(int a,int b); returns the greatest common divisor of a and b int randcoprime(n); returns a random number 1 < r < (n-1) coprime to n void approx(double x,word qmax,word *p,word *q); finds the best rational approximation (*p)/(*q) to x with denominator < qmax and sets *p and *q accordingly. opVar opFFT(int n); performs a fast Fourier transformation on qs using Coppersmith's algorithm