Loading...
Searching...
No Matches
splist.h
Go to the documentation of this file.
// ----------------------------------------------------------------------------
// splist.h
// begin of file
// Stephan Endrass, endrass@mathematik.uni-mainz.de
// 23.7.99
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Description: the class spectrumPolyList is to hold monomials
// and their normal forms with respect to a given standard basis
// and a given ordering. On this list we run a standard basis
// conversion algorithm to compute the spectrum
// ----------------------------------------------------------------------------
#ifndef SPLIST_H
#define SPLIST_H
#include "kernel/spectrum/npolygon.h"
/*enum spectrumState
{
spectrumOK,
spectrumZero,
spectrumBadPoly,
spectrumNoSingularity,
spectrumNotIsolated,
spectrumDegenerate,
spectrumWrongRing,
spectrumNoHC,
spectrumUnspecErr
};*/ //TODO move to Singular
// ----------------------------------------------------------------------------
class spectrumPolyNode
{
public:
spectrumPolyNode *next;
poly mon;
Rational weight;
poly nf;
ring r;
spectrumPolyNode( );
spectrumPolyNode( spectrumPolyNode*,poly,const Rational&,poly, const ring);
~spectrumPolyNode( );
void copy_zero ( void );
void copy_shallow( spectrumPolyNode*,poly,const Rational&,poly, const ring);
void copy_shallow( spectrumPolyNode& );
};
// ----------------------------------------------------------------------------
class spectrumPolyList
{
public:
spectrumPolyNode *root;
int N;
newtonPolygon *np;
spectrumPolyList( );
spectrumPolyList( newtonPolygon* );
~spectrumPolyList( );
void copy_zero ( void );
void copy_shallow( spectrumPolyNode*,int,newtonPolygon* );
void copy_shallow( spectrumPolyList& );
void insert_node( poly,poly, const ring );
void delete_node( spectrumPolyNode** );
void delete_monomial( poly, const ring );
//spectrumState spectrum( lists*,int );
#ifdef SPLIST_PRINT
friend ostream & operator << ( ostream&,const spectrumPolyList& );
#endif
};
#endif /* SPLIST_H */
// ----------------------------------------------------------------------------
// splist.h
// end of file
// ----------------------------------------------------------------------------
Rational
Definition GMPrat.h:15
newtonPolygon
Definition npolygon.h:62
spectrumPolyList::copy_shallow
void copy_shallow(spectrumPolyNode *, int, newtonPolygon *)
Definition splist.cc:125
spectrumPolyList::delete_monomial
void delete_monomial(poly, const ring)
Definition splist.cc:269
spectrumPolyList::root
spectrumPolyNode * root
Definition splist.h:60
spectrumPolyList::copy_zero
void copy_zero(void)
Definition splist.cc:114
spectrumPolyList::insert_node
void insert_node(poly, poly, const ring)
Definition splist.cc:184
spectrumPolyList::delete_node
void delete_node(spectrumPolyNode **)
Definition splist.cc:256
spectrumPolyList::~spectrumPolyList
~spectrumPolyList()
Definition splist.cc:164
spectrumPolyList::N
int N
Definition splist.h:61
spectrumPolyList::spectrumPolyList
spectrumPolyList()
Definition splist.cc:146
spectrumPolyList::np
newtonPolygon * np
Definition splist.h:62
spectrumPolyNode
Definition splist.h:36
spectrumPolyNode::next
spectrumPolyNode * next
Definition splist.h:39
spectrumPolyNode::r
ring r
Definition splist.h:43
spectrumPolyNode::~spectrumPolyNode
~spectrumPolyNode()
Definition splist.cc:99
spectrumPolyNode::nf
poly nf
Definition splist.h:42
spectrumPolyNode::weight
Rational weight
Definition splist.h:41
spectrumPolyNode::mon
poly mon
Definition splist.h:40
spectrumPolyNode::copy_shallow
void copy_shallow(spectrumPolyNode *, poly, const Rational &, poly, const ring)
Definition splist.cc:53
spectrumPolyNode::spectrumPolyNode
spectrumPolyNode()
Definition splist.cc:80
spectrumPolyNode::copy_zero
void copy_zero(void)
Definition splist.cc:40
npolygon.h
operator<<
ostream & operator<<(ostream &s, const spectrum &spec)
Definition semic.cc:249