52 ASSERT ( j > 1,
"j > 1 expected" );
79 int*
buf=
new int [length];
80 for (
int i= 0;
i < length;
i++)
82 if (degPat.
find ((*
this)[
i]))
90 ASSERT ( count > 0,
"count > 0 expected" );
94 for (
int i= 0;
i < length;
i++)
117 pos= (*this).find (d - (*
this)[
i]);
133 ASSERT ( count > 0,
"count > 0 expected" );
136 for (
int i= 0;
i < length;
i++)
int status int void size_t count
DegreePattern provides a functionality to create, intersect and refine degree patterns.
int getLength() const
getter
some useful template functions.
void init(int n)
initialise a DegreePattern
factory's class for variables
int find(const int x) const
find an element x
void intersect(const DegreePattern °Pat)
intersect two degree patterns
DegreePattern()
default constructor
Operations in GF, where GF is a finite field of size less than 2^16 represented by a root of Conway p...
int status int void * buf
Interface to generate InternalCF's over various domains from intrinsic types or mpz_t's.
Iterators for CanonicalForm's.
void refine()
Refine a degree pattern. Assumes that (*this)[0]:= d is the degree of the poly to be factored...
class to iterate through CanonicalForm's
#define GaloisFieldDomain
This file provides a class to handle degree patterns.
#define ASSERT(expression, message)
struct DegreePattern::Pattern * m_data
template CanonicalForm tmin(const CanonicalForm &, const CanonicalForm &)