12 #ifndef DEGREE_PATTERN_H 13 #define DEGREE_PATTERN_H 164 if ((*
this)[
i] ==
x)
return i + 1;
DegreePattern provides a functionality to create, intersect and refine degree patterns.
Pattern()
default constructor
some useful template functions.
int operator[](const int index) const
operator []
void init(int n)
initialise a DegreePattern
~DegreePattern()
destructor
int find(const int x) const
find an element x
void intersect(const DegreePattern °Pat)
intersect two degree patterns
DegreePattern(const DegreePattern °Pat)
copy constructor
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 m_refCounter
reference counter
void release()
clear m_data
Iterators for CanonicalForm's.
static int index(p_Length length, p_Ord ord)
void refine()
Refine a degree pattern. Assumes that (*this)[0]:= d is the degree of the poly to be factored...
int getLength() const
getter
int * getPattern() const
getter
DegreePattern & operator=(const DegreePattern °Pat)
assignment
#define ASSERT(expression, message)
int * m_pattern
some array containing the degree pattern
struct DegreePattern::Pattern * m_data
Pattern(int n)
construct a Pattern from an int
int m_length
length of m_pattern