My Project
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 {}
VarIndex varCount() const
Definition: singmathic.cc:40
Coefficient modulus() const
Definition: singmathic.cc:39
const VarIndex mVarCount
Definition: singmathic.cc:100
const Coefficient mModulus
Definition: singmathic.cc:99

◆ ~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 {
63 }
int exponent(const CanonicalForm &f, int q)
int exponent ( const CanonicalForm & f, int q )
static int index(p_Length length, p_Ord ord)
Definition: p_Procs_Impl.h:592
#define pSetExp(p, i, v)
Definition: polys.h:42

◆ 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 }
#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 65 of file singmathic.cc.

66 {
67 mTerm->coef = reinterpret_cast<number>(coefficient);
68 pSetm(mTerm);
69 }
#define pSetm(p)
Definition: polys.h:271

◆ deleteIdeal()

void MathicToSingStream::deleteIdeal ( )
inlineprivate

Definition at line 90 of file singmathic.cc.

91 {
92 if (mIdeal != 0)
93 {
95 mIdeal = 0;
96 }
97 }
#define idDelete(H)
delete an ideal
Definition: ideals.h:29

◆ idealBegin()

void MathicToSingStream::idealBegin ( size_t  polyCount)
inline

Definition at line 42 of file singmathic.cc.

43 {
45 mIdeal = idInit(polyCount);
46 mPolyCount = 0;
47 }
ideal idInit(int idsize, int rank)
initialise an ideal / module
Definition: simpleideals.cc:35

◆ 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: