19#ifndef NPOLYGON_IOSTREAM
46 #ifdef NPOLYGON_IOSTREAM
48 "void linearForm::copy_new( int k ): no memory left ...\n" ;
51 "void linearForm::copy_new( int k ): no memory left ...\n");
65 #ifdef NPOLYGON_IOSTREAM
67 "void linearForm::copy_new( int k ): k < 0 ...\n";
70 "void linearForm::copy_new( int k ): k < 0 ...\n" );
96 for(
int i=
l.N-1;
i>=0;
i-- )
141 for(
int i=0;
i<
l.N;
i++ )
147 #ifdef NPOLYGON_IOSTREAM
150 fprintf( stdout,
"+" );
156 #ifdef NPOLYGON_IOSTREAM
159 fprintf( stdout,
"*x%d",
i+1 );
176 for(
int i=l1.
N-1;
i >=0 ;
i-- )
178 if( l1.
c[
i]!=l2.
c[
i] )
193 for(
int i=0,
j=1;
i<
N;
i++,
j++ )
233 for(
int i=0,
j=1;
i<
N;
i++,
j++ )
249 for(
int i=0,
j=2;
i<
N;
i++,
j++ )
266 for(
int i=0,
j=2;
i<
N;
i++,
j++ )
281 for(
int i=0;
i<
N;
i++ )
305 #ifdef NPOLYGON_PRINT
306 #ifdef NPOLYGON_IOSTREAM
308 "void newtonPolygon::copy_new( int k ): no memory left ...\n";
311 "void newtonPolygon::copy_new( int k ): no memory left ...\n" );
325 #ifdef NPOLYGON_PRINT
326 #ifdef NPOLYGON_IOSTREAM
327 cerr <<
"void newtonPolygon::copy_new( int k ): k < 0 ...\n";
330 "void newtonPolygon::copy_new( int k ): k < 0 ...\n" );
356 for(
int i=0;
i<np.
N;
i++ )
401 int *r=
new int[
s->N];
402 poly *
m=
new poly[
s->N];
414 for(
i=0;
i<
s->N;
i++ )
421 for(
i=1;
i<
s->N;
i++ )
437 for(
i=0;
i<
s->N;
i++ )
439 for(
j=0;
j<
s->N;
j++ )
447 if( mat.
solve( &(sol.
c),&(sol.
N) ) ==
s->N )
470 for(
i=1; r[
i-1] + 1 == r[
i] &&
i <
s->N;
i++ );
472 for(
j=0;
j<
i-1;
j++ )
480 for(
j=1;
j<
i-1;
j++ )
488 if(
m[
s->N-1] == (poly)
NULL )
492 }
while( stop ==
FALSE );
499 #ifdef NPOLYGON_IOSTREAM
500 s <<
"Newton polygon:" << endl;
502 fprintf( stdout,
"Newton polygon:\n" );
505 for(
int i=0;
i<a.
N;
i++ )
509 #ifdef NPOLYGON_IOSTREAM
512 fprintf( stdout,
"\n" );
569 for(
int i=1;
i<
N;
i++ )
590 for(
int i=1;
i<
N;
i++ )
611 for(
int i=1;
i<
N;
i++ )
633 for(
int i=1;
i<
N;
i++ )
void set(int, int, const K &)
void add_linearForm(const linearForm &)
void copy_shallow(newtonPolygon &)
Rational weight(poly, const ring r) const
Rational weight_shift1(poly, const ring r) const
newtonPolygon & operator=(const newtonPolygon &)
Rational weight_shift(poly, const ring r) const
Rational weight1(poly, const ring r) const
void copy_deep(const newtonPolygon &)
const CanonicalForm int s
int operator==(const linearForm &l1, const linearForm &l2)
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent @Note: the integer VarOffset encodes:
ostream & operator<<(ostream &s, const spectrum &spec)