#include <npolygon.h>
Definition at line 61 of file npolygon.h.
◆ newtonPolygon() [1/3]
newtonPolygon::newtonPolygon |
( |
| ) |
|
|
inline |
◆ newtonPolygon() [2/3]
Definition at line 367 of file npolygon.cc.
368{
370}
void copy_deep(const newtonPolygon &)
◆ newtonPolygon() [3/3]
newtonPolygon::newtonPolygon |
( |
poly |
f, |
|
|
const ring |
r |
|
) |
| |
Definition at line 397 of file npolygon.cc.
398{
400
401 int *r=
new int[
s->N];
402 poly *
m=
new poly[
s->N];
403
404
406
409
410
411
412
413
414 for(
i=0;
i<
s->N;
i++ )
415 {
417 }
418
420
421 for(
i=1;
i<
s->N;
i++ )
422 {
424 }
425
426
427
428
429
430 do
431 {
432
433
434
435
436
437 for(
i=0;
i<
s->N;
i++ )
438 {
439 for(
j=0;
j<
s->N;
j++ )
440 {
441
443 }
445 }
446
447 if( mat.solve( &(sol.
c),&(sol.
N) ) ==
s->N )
448 {
449
450
451
452
453
455 {
456
457
458
459
463 }
464 }
465
466
467
468
469
470 for(
i=1; r[
i-1] + 1 == r[
i] &&
i <
s->N;
i++ );
471
472 for(
j=0;
j<
i-1;
j++ )
473 {
475 }
476
478 {
480 for(
j=1;
j<
i-1;
j++ )
481 {
483 }
484 }
487
488 if(
m[
s->N-1] == (poly)
NULL )
489 {
491 }
492 }
while( stop ==
FALSE );
493}
void add_linearForm(const linearForm &)
const CanonicalForm int s
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent @Note: the integer VarOffset encodes:
◆ ~newtonPolygon()
newtonPolygon::~newtonPolygon |
( |
| ) |
|
◆ add_linearForm()
Definition at line 525 of file npolygon.cc.
526{
529
530
531
532
533
535 {
537 {
538 return;
539 }
540 }
541
544
546 {
549 }
550
552
556
557 return;
558}
void copy_shallow(newtonPolygon &)
◆ copy_deep()
Definition at line 353 of file npolygon.cc.
354{
356 for(
int i=0;
i<np.
N;
i++ )
357 {
359 }
361}
◆ copy_delete()
void newtonPolygon::copy_delete |
( |
void |
| ) |
|
◆ copy_new()
void newtonPolygon::copy_new |
( |
int |
k | ) |
|
Definition at line 296 of file npolygon.cc.
297{
299 {
301
302 #ifndef SING_NDEBUG
304 {
305 #ifdef NPOLYGON_PRINT
306 #ifdef NPOLYGON_IOSTREAM
307 cerr <<
308 "void newtonPolygon::copy_new( int k ): no memory left ...\n";
309 #else
310 fprintf( stderr,
311 "void newtonPolygon::copy_new( int k ): no memory left ...\n" );
312 #endif
313 #endif
314
316 }
317 #endif
318 }
320 {
322 }
324 {
325 #ifdef NPOLYGON_PRINT
326 #ifdef NPOLYGON_IOSTREAM
327 cerr << "void newtonPolygon::copy_new( int k ): k < 0 ...\n";
328 #else
329 fprintf( stderr,
330 "void newtonPolygon::copy_new( int k ): k < 0 ...\n" );
331 #endif
332 #endif
333
335 }
336}
◆ copy_shallow()
◆ copy_zero()
void newtonPolygon::copy_zero |
( |
void |
| ) |
|
|
inline |
◆ operator=()
Definition at line 385 of file npolygon.cc.
386{
389
390 return *this;
391}
◆ weight()
Definition at line 564 of file npolygon.cc.
565{
568
569 for(
int i=1;
i<
N;
i++ )
570 {
572
573 if( tmp < ret )
574 {
575 ret = tmp;
576 }
577 }
578 return ret;
579}
◆ weight1()
Definition at line 606 of file npolygon.cc.
607{
610
611 for(
int i=1;
i<
N;
i++ )
612 {
614
615 if( tmp < ret )
616 {
617 ret = tmp;
618 }
619 }
620 return ret;
621}
◆ weight_shift()
Rational newtonPolygon::weight_shift |
( |
poly |
m, |
|
|
const ring |
r |
|
) |
| const |
Definition at line 585 of file npolygon.cc.
586{
589
590 for(
int i=1;
i<
N;
i++ )
591 {
593
594 if( tmp < ret )
595 {
596 ret = tmp;
597 }
598 }
599 return ret;
600}
◆ weight_shift1()
Rational newtonPolygon::weight_shift1 |
( |
poly |
m, |
|
|
const ring |
r |
|
) |
| const |
Definition at line 628 of file npolygon.cc.
629{
632
633 for(
int i=1;
i<
N;
i++ )
634 {
636
637 if( tmp < ret )
638 {
639 ret = tmp;
640 }
641 }
642 return ret;
643}
The documentation for this class was generated from the following files: