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