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 24 of file singmathic.cc.

Constructor & Destructor Documentation

◆ MathicToSingStream()

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

Definition at line 26 of file singmathic.cc.

26  :
29  mPolyCount(0),
30  mTerm(0),
31  mIdeal(0)
32  {}
VarIndex varCount() const
Definition: singmathic.cc:39
const VarIndex mVarCount
Definition: singmathic.cc:91
const Coefficient mModulus
Definition: singmathic.cc:90
Coefficient modulus() const
Definition: singmathic.cc:38

◆ ~MathicToSingStream()

MathicToSingStream::~MathicToSingStream ( )
inline

Definition at line 34 of file singmathic.cc.

34 {deleteIdeal();}

Member Function Documentation

◆ appendExponent()

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

Definition at line 57 of file singmathic.cc.

57  {
58  pSetExp(mTerm, index + 1, exponent);
59  }
#define pSetExp(p, i, v)
Definition: polys.h:42
static int index(p_Length length, p_Ord ord)
Definition: p_Procs_Impl.h:592
int exponent(const CanonicalForm &f, int q)
int exponent ( const CanonicalForm & f, int q )

◆ appendPolynomialBegin()

void MathicToSingStream::appendPolynomialBegin ( size_t  termCount)
inline

Definition at line 47 of file singmathic.cc.

47 {}

◆ appendPolynomialDone()

void MathicToSingStream::appendPolynomialDone ( )
inline

Definition at line 66 of file singmathic.cc.

66  {
67  ++mPolyCount;
68  mTerm = 0;
69  }

◆ appendTermBegin()

void MathicToSingStream::appendTermBegin ( const mgb::GroebnerConfiguration::Component  c)
inline

Definition at line 49 of file singmathic.cc.

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

◆ appendTermDone()

void MathicToSingStream::appendTermDone ( Coefficient  coefficient)
inline

Definition at line 61 of file singmathic.cc.

61  {
62  mTerm->coef = reinterpret_cast<number>(coefficient);
63  pSetm(mTerm);
64  }
#define pSetm(p)
Definition: polys.h:257

◆ deleteIdeal()

void MathicToSingStream::deleteIdeal ( )
inlineprivate

Definition at line 83 of file singmathic.cc.

83  {
84  if (mIdeal != 0) {
85  idDelete(&mIdeal);
86  mIdeal = 0;
87  }
88  }
#define idDelete(H)
delete an ideal
Definition: ideals.h:29

◆ idealBegin()

void MathicToSingStream::idealBegin ( size_t  polyCount)
inline

Definition at line 41 of file singmathic.cc.

41  {
42  deleteIdeal();
43  mIdeal = idInit(polyCount);
44  mPolyCount = 0;
45  }
ideal idInit(int idsize, int rank)
initialise an ideal / module
Definition: simpleideals.cc:37

◆ idealDone()

void MathicToSingStream::idealDone ( )
inline

Definition at line 71 of file singmathic.cc.

71 {}

◆ modulus()

Coefficient MathicToSingStream::modulus ( ) const
inline

Definition at line 38 of file singmathic.cc.

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

◆ takeIdeal()

::ideal MathicToSingStream::takeIdeal ( )
inline

Definition at line 76 of file singmathic.cc.

76  {
77  ::ideal id = mIdeal;
78  mIdeal = 0;
79  return id;
80  }

◆ varCount()

VarIndex MathicToSingStream::varCount ( ) const
inline

Definition at line 39 of file singmathic.cc.

39 {return mModulus;}
const Coefficient mModulus
Definition: singmathic.cc:90

Field Documentation

◆ mIdeal

::ideal MathicToSingStream::mIdeal
private

Definition at line 94 of file singmathic.cc.

◆ mModulus

const Coefficient MathicToSingStream::mModulus
private

Definition at line 90 of file singmathic.cc.

◆ mPolyCount

size_t MathicToSingStream::mPolyCount
private

Definition at line 92 of file singmathic.cc.

◆ mTerm

poly MathicToSingStream::mTerm
private

Definition at line 93 of file singmathic.cc.

◆ mVarCount

const VarIndex MathicToSingStream::mVarCount
private

Definition at line 91 of file singmathic.cc.


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