#include <splist.h>
Definition at line 56 of file splist.h.
◆ spectrumPolyList() [1/2]
spectrumPolyList::spectrumPolyList |
( |
| ) |
|
◆ spectrumPolyList() [2/2]
Definition at line 155 of file splist.cc.
156{
158}
void copy_shallow(spectrumPolyNode *, int, newtonPolygon *)
◆ ~spectrumPolyList()
spectrumPolyList::~spectrumPolyList |
( |
| ) |
|
Definition at line 164 of file splist.cc.
165{
166 spectrumPolyNode *node;
167
168 while(
root!=(spectrumPolyNode*)
NULL )
169 {
173 }
174
176}
◆ copy_shallow() [1/2]
◆ copy_shallow() [2/2]
◆ copy_zero()
void spectrumPolyList::copy_zero |
( |
void | | ) |
|
Definition at line 114 of file splist.cc.
115{
119}
int ** newtonPolygon(const CanonicalForm &F, int &sizeOfNewtonPoly)
compute the Newton polygon of a bivariate polynomial
◆ delete_monomial()
void spectrumPolyList::delete_monomial |
( |
poly | m, |
|
|
const ring | R ) |
Definition at line 269 of file splist.cc.
270{
271 spectrumPolyNode **node = &
root;
273
275
276 while( *node!=(spectrumPolyNode*)
NULL )
277 {
279 {
281 }
282 else if( (*node)->nf!=
NULL )
283 {
285
287 {
289 {
291 }
292 else
293 {
295 }
296 }
297
298 if( (*node)->nf==
NULL )
299 {
301 }
302 else
303 {
304 node = &((*node)->next);
305 }
306 }
307 else
308 {
309 node = &((*node)->next);
310 }
311 }
313}
void delete_node(spectrumPolyNode **)
static void p_LmDelete(poly p, const ring r)
static int p_Cmp(poly p1, poly p2, ring r)
static BOOLEAN p_LmDivisibleByNoComp(poly a, poly b, const ring r)
static void p_Delete(poly *p, const ring r)
static poly p_Copy(poly p, const ring r)
returns a copy of p
◆ delete_node()
Definition at line 256 of file splist.cc.
257{
258 spectrumPolyNode *
foo = *node;
259 *node = (*node)->
next;
262}
◆ insert_node()
void spectrumPolyList::insert_node |
( |
poly | m, |
|
|
poly | f, |
|
|
const ring | R ) |
Definition at line 184 of file splist.cc.
185{
186 #ifdef SPLIST_DEBUG
188 {
189 #ifdef SPLIST_PRINT
190 #ifdef SPLIST_IOSTREAM
191 cerr << "void spectrumPolyList::insert_node( poly f )" << endl;
192 cerr << " no Newton polygon" << endl;
193 cerr << " exiting..." << endl;
194 #else
195 fprintf( stderr,"void spectrumPolyList::insert_node( poly f )\n" );
196 fprintf( stderr," no Newton polygon\n" );
197 fprintf( stderr," exiting...\n" );
198 #endif
199 #endif
200
201 exit( 1 );
202 }
203 #endif
204
205 spectrumPolyNode *newnode = new spectrumPolyNode(
206 (spectrumPolyNode*)
NULL,
m,
np->weight_shift(
m,
R ),
f,
R );
207
212 {
213
214
215
216
219 }
221 {
222
223
224
225
226 root->next = newnode;
227 }
228 else
229 {
230
231
232
233
234 spectrumPolyNode *actual =
root;
235 spectrumPolyNode *
next =
root->next;
236
237 while(
next!=(spectrumPolyNode*)
NULL &&
241 {
244 }
245
246 actual->
next = newnode;
248 }
250}
◆ np
◆ root
The documentation for this class was generated from the following files: