My Project  UNKNOWN_GIT_VERSION
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 27 of file singmathic.cc.

27  :
30  mPolyCount(0),
31  mTerm(0),
32  mIdeal(0)
33  {}

◆ ~MathicToSingStream()

MathicToSingStream::~MathicToSingStream ( )
inline

Definition at line 35 of file singmathic.cc.

35 {deleteIdeal();}

Member Function Documentation

◆ appendExponent()

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

Definition at line 60 of file singmathic.cc.

61  {
62  pSetExp(mTerm, index + 1, exponent);
63  }

◆ appendPolynomialBegin()

void MathicToSingStream::appendPolynomialBegin ( size_t  termCount)
inline

Definition at line 49 of file singmathic.cc.

49 {}

◆ appendPolynomialDone()

void MathicToSingStream::appendPolynomialDone ( )
inline

Definition at line 71 of file singmathic.cc.

72  {
73  ++mPolyCount;
74  mTerm = 0;
75  }

◆ appendTermBegin()

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

Definition at line 51 of file singmathic.cc.

52  {
53  if (mTerm == 0)
54  mTerm = mIdeal->m[mPolyCount] = pInit();
55  else
56  mTerm = mTerm->next = pInit();
57  pSetComp(mTerm,c);
58  }

◆ appendTermDone()

void MathicToSingStream::appendTermDone ( Coefficient  coefficient)
inline

Definition at line 65 of file singmathic.cc.

66  {
67  mTerm->coef = reinterpret_cast<number>(coefficient);
68  pSetm(mTerm);
69  }

◆ deleteIdeal()

void MathicToSingStream::deleteIdeal ( )
inlineprivate

Definition at line 90 of file singmathic.cc.

91  {
92  if (mIdeal != 0)
93  {
94  idDelete(&mIdeal);
95  mIdeal = 0;
96  }
97  }

◆ idealBegin()

void MathicToSingStream::idealBegin ( size_t  polyCount)
inline

Definition at line 42 of file singmathic.cc.

43  {
44  deleteIdeal();
45  mIdeal = idInit(polyCount);
46  mPolyCount = 0;
47  }

◆ idealDone()

void MathicToSingStream::idealDone ( )
inline

Definition at line 77 of file singmathic.cc.

77 {}

◆ modulus()

Coefficient MathicToSingStream::modulus ( ) const
inline

Definition at line 39 of file singmathic.cc.

39 {return mModulus;}

◆ takeIdeal()

::ideal MathicToSingStream::takeIdeal ( )
inline

Definition at line 82 of file singmathic.cc.

83  {
84  ::ideal id = mIdeal;
85  mIdeal = 0;
86  return id;
87  }

◆ varCount()

VarIndex MathicToSingStream::varCount ( ) const
inline

Definition at line 40 of file singmathic.cc.

40 {return mModulus;}

Field Documentation

◆ mIdeal

::ideal MathicToSingStream::mIdeal
private

Definition at line 103 of file singmathic.cc.

◆ mModulus

const Coefficient MathicToSingStream::mModulus
private

Definition at line 99 of file singmathic.cc.

◆ mPolyCount

size_t MathicToSingStream::mPolyCount
private

Definition at line 101 of file singmathic.cc.

◆ mTerm

poly MathicToSingStream::mTerm
private

Definition at line 102 of file singmathic.cc.

◆ mVarCount

const VarIndex MathicToSingStream::mVarCount
private

Definition at line 100 of file singmathic.cc.


The documentation for this class was generated from the following file:
exponent
int exponent(const CanonicalForm &f, int q)
int exponent ( const CanonicalForm & f, int q )
Definition: gengftables-conway.cc:92
idDelete
#define idDelete(H)
delete an ideal
Definition: ideals.h:28
MathicToSingStream::modulus
Coefficient modulus() const
Definition: singmathic.cc:39
MathicToSingStream::deleteIdeal
void deleteIdeal()
Definition: singmathic.cc:90
pSetComp
#define pSetComp(p, v)
Definition: polys.h:37
MathicToSingStream::varCount
VarIndex varCount() const
Definition: singmathic.cc:40
MathicToSingStream::mPolyCount
size_t mPolyCount
Definition: singmathic.cc:101
MathicToSingStream::mIdeal
::ideal mIdeal
Definition: singmathic.cc:103
MathicToSingStream::mModulus
const Coefficient mModulus
Definition: singmathic.cc:99
pInit
#define pInit()
allocates a new monomial and initializes everything to 0
Definition: polys.h:59
MathicToSingStream::mTerm
poly mTerm
Definition: singmathic.cc:102
MathicToSingStream::mVarCount
const VarIndex mVarCount
Definition: singmathic.cc:100
idInit
ideal idInit(int idsize, int rank)
initialise an ideal / module
Definition: simpleideals.cc:36
pSetm
#define pSetm(p)
Definition: polys.h:254
pSetExp
#define pSetExp(p, i, v)
Definition: polys.h:41
index
static int index(p_Length length, p_Ord ord)
Definition: p_Procs_Impl.h:585