 |
My Project
debian-1:4.1.2-p1+ds-2
|
Go to the documentation of this file.
30 ASSERT (integer != 0 && integer != 1 && integer != -1,
31 "non-zero non-unit expected");
40 while ((
i != 1) && (
i%2 == 0))
48 for (
int k= 0;
k <
exp;
k++)
57 while ((
i != 1) && (
j < 31937))
60 while ((
i != 1) && (
i%next_prime == 0))
71 for (
int k= 0;
k <
exp;
k++)
81 ASSERT (
j < 31397,
"integer factorizer ran out of primes");
92 for (
int i= 1;
i < factors_length;
i++)
94 if (factors[
i - 1] != factors[
i])
116 int prime_factors_length;
117 int distinct_factors_length;
119 int* distinct_factors=
makeDistinct (prime_factors, prime_factors_length,
120 distinct_factors_length);
121 delete [] prime_factors;
126 for (
int i= 0;
i < distinct_factors_length;
i++)
129 prod *= distinct_factors[
i];
131 delete [] distinct_factors;
static BOOLEAN length(leftv result, leftv arg)
static int * makeDistinct(int *factors, const int factors_length, int &length)
make prime factorization distinct
CanonicalForm cyclotomicPoly(int n, bool &fail)
compute the n-th cyclotomic polynomial, function may fail if integer_factorizer fails to factorize n
CanonicalForm getMipo(const Variable &alpha, const Variable &x)
#define ASSERT(expression, message)
int status int void * buf
bool isPrimitive(const Variable &alpha, bool &fail)
checks if alpha is a primitive element, alpha is assumed to be an algebraic variable over some finite...
int ipower(int b, int m)
int ipower ( int b, int m )
gmp_float exp(const gmp_float &a)
int * integerFactorizer(const long integer, int &length, bool &fail)
integer factorization using table look-ups, function may fail if integer contains primes which exceed...
factory's class for variables