splist.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // splist.h
3 // begin of file
4 // Stephan Endrass, endrass@mathematik.uni-mainz.de
5 // 23.7.99
6 // ----------------------------------------------------------------------------
7 
8 // ----------------------------------------------------------------------------
9 // Description: the class spectrumPolyList is to hold monomials
10 // and their normal forms with respect to a given standard basis
11 // and a given ordering. On this list we run a standard basis
12 // conversion algorithm to compute the spectrum
13 // ----------------------------------------------------------------------------
14 
15 #ifndef SPLIST_H
16 #define SPLIST_H
17 
19 
20 /*enum spectrumState
21 {
22  spectrumOK,
23  spectrumZero,
24  spectrumBadPoly,
25  spectrumNoSingularity,
26  spectrumNotIsolated,
27  spectrumDegenerate,
28  spectrumWrongRing,
29  spectrumNoHC,
30  spectrumUnspecErr
31 };*/ //TODO move to Singular
32 
33 // ----------------------------------------------------------------------------
34 
36 {
37 public:
38 
43  ring r;
44 
46  spectrumPolyNode( spectrumPolyNode*,poly,const Rational&,poly, const ring);
48 
49  void copy_zero ( void );
50  void copy_shallow( spectrumPolyNode*,poly,const Rational&,poly, const ring);
52 };
53 
54 // ----------------------------------------------------------------------------
55 
57 {
58 public:
59 
61  int N;
63 
66  ~spectrumPolyList( );
67 
68  void copy_zero ( void );
71 
72  void insert_node( poly,poly, const ring );
73  void delete_node( spectrumPolyNode** );
74 
75  void delete_monomial( poly, const ring );
76 
77  //spectrumState spectrum( lists*,int );
78 
79  #ifdef SPLIST_PRINT
80  friend ostream & operator << ( ostream&,const spectrumPolyList& );
81  #endif
82 };
83 
84 #endif /* SPLIST_H */
85 
86 // ----------------------------------------------------------------------------
87 // splist.h
88 // end of file
89 // ----------------------------------------------------------------------------
spectrumPolyNode * next
Definition: splist.h:39
Rational weight
Definition: splist.h:41
newtonPolygon * np
Definition: splist.h:62
spectrumPolyNode * root
Definition: splist.h:60
void copy_shallow(spectrumPolyNode *, poly, const Rational &, poly, const ring)
Definition: splist.cc:53
void copy_zero(void)
Definition: splist.cc:40
polyrec * poly
Definition: hilb.h:10
ostream & operator<<(ostream &s, const spectrum &spec)
Definition: semic.cc:249