Public Member Functions | Private Member Functions | Private Attributes
MathicToSingStream Class Reference

Public Member Functions

 MathicToSingStream (Coefficient modulus, VarIndex varCount)
 
 ~MathicToSingStream ()
 
Coefficient modulus () const
 
VarIndex varCount () const
 
void idealBegin (size_t polyCount)
 
void appendPolynomialBegin (size_t termCount)
 
void appendTermBegin (const mgb::GroebnerConfiguration::Component c)
 
void appendExponent (VarIndex index, Exponent exponent)
 
void appendTermDone (Coefficient coefficient)
 
void appendPolynomialDone ()
 
void idealDone ()
 
::ideal takeIdeal ()
 

Private Member Functions

void deleteIdeal ()
 

Private Attributes

const Coefficient mModulus
 
const VarIndex mVarCount
 
size_t mPolyCount
 
poly mTerm
 
::ideal mIdeal
 

Detailed Description

Definition at line 23 of file singmathic.cc.

Constructor & Destructor Documentation

MathicToSingStream::MathicToSingStream ( Coefficient  modulus,
VarIndex  varCount 
)
inline

Definition at line 25 of file singmathic.cc.

25  :
28  mPolyCount(0),
29  mTerm(0),
30  mIdeal(0)
31  {}
const VarIndex mVarCount
Definition: singmathic.cc:90
const Coefficient mModulus
Definition: singmathic.cc:89
Coefficient modulus() const
Definition: singmathic.cc:37
VarIndex varCount() const
Definition: singmathic.cc:38
MathicToSingStream::~MathicToSingStream ( )
inline

Definition at line 33 of file singmathic.cc.

33 {deleteIdeal();}

Member Function Documentation

void MathicToSingStream::appendExponent ( VarIndex  index,
Exponent  exponent 
)
inline

Definition at line 56 of file singmathic.cc.

56  {
57  pSetExp(mTerm, index + 1, exponent);
58  }
#define pSetExp(p, i, v)
Definition: polys.h:42
static int index(p_Length length, p_Ord ord)
Definition: p_Procs_Impl.h:597
int exponent(const CanonicalForm &f, int q)
int exponent ( const CanonicalForm & f, int q )
void MathicToSingStream::appendPolynomialBegin ( size_t  termCount)
inline

Definition at line 46 of file singmathic.cc.

46 {}
void MathicToSingStream::appendPolynomialDone ( )
inline

Definition at line 65 of file singmathic.cc.

65  {
66  ++mPolyCount;
67  mTerm = 0;
68  }
void MathicToSingStream::appendTermBegin ( const mgb::GroebnerConfiguration::Component  c)
inline

Definition at line 48 of file singmathic.cc.

48  {
49  if (mTerm == 0)
50  mTerm = mIdeal->m[mPolyCount] = pInit();
51  else
52  mTerm = mTerm->next = pInit();
53  pSetComp(mTerm,c);
54  }
#define pSetComp(p, v)
Definition: polys.h:38
#define pInit()
allocates a new monomial and initializes everything to 0
Definition: polys.h:61
void MathicToSingStream::appendTermDone ( Coefficient  coefficient)
inline

Definition at line 60 of file singmathic.cc.

60  {
61  mTerm->coef = reinterpret_cast<number>(coefficient);
62  pSetm(mTerm);
63  }
#define pSetm(p)
Definition: polys.h:241
void MathicToSingStream::deleteIdeal ( )
inlineprivate

Definition at line 82 of file singmathic.cc.

82  {
83  if (mIdeal != 0) {
84  idDelete(&mIdeal);
85  mIdeal = 0;
86  }
87  }
void idDelete(ideal *h)
delete an ideal
Definition: ideals.h:31
void MathicToSingStream::idealBegin ( size_t  polyCount)
inline

Definition at line 40 of file singmathic.cc.

40  {
41  deleteIdeal();
42  mIdeal = idInit(polyCount);
43  mPolyCount = 0;
44  }
ideal idInit(int idsize, int rank)
initialise an ideal / module
Definition: simpleideals.cc:38
void MathicToSingStream::idealDone ( )
inline

Definition at line 70 of file singmathic.cc.

70 {}
Coefficient MathicToSingStream::modulus ( ) const
inline

Definition at line 37 of file singmathic.cc.

37 {return mModulus;}
const Coefficient mModulus
Definition: singmathic.cc:89
::ideal MathicToSingStream::takeIdeal ( )
inline

Definition at line 75 of file singmathic.cc.

75  {
76  ::ideal id = mIdeal;
77  mIdeal = 0;
78  return id;
79  }
VarIndex MathicToSingStream::varCount ( ) const
inline

Definition at line 38 of file singmathic.cc.

38 {return mModulus;}
const Coefficient mModulus
Definition: singmathic.cc:89

Field Documentation

::ideal MathicToSingStream::mIdeal
private

Definition at line 93 of file singmathic.cc.

const Coefficient MathicToSingStream::mModulus
private

Definition at line 89 of file singmathic.cc.

size_t MathicToSingStream::mPolyCount
private

Definition at line 91 of file singmathic.cc.

poly MathicToSingStream::mTerm
private

Definition at line 92 of file singmathic.cc.

const VarIndex MathicToSingStream::mVarCount
private

Definition at line 90 of file singmathic.cc.


The documentation for this class was generated from the following file: