46 s <<
p.var() <<
" -> " <<
p.subst();
50void MapPair::print(
OSTREAM&)
const
67 for (
i = L,
j = 1;
i.hasItem();
i++,
j++ )
95 if ( p1.
var() > p2.
var() )
return -1;
96 else if ( p1.
var() == p2.
var() )
return 0;
138 if (
f.inBaseDomain() )
return f;
142 while (
j.hasItem() &&
j.getItem().var() >
f.mvar() )
j++;
145 if (
j.getItem().var() !=
f.mvar() ) {
219 while( degs[
i] == 0 )
i++;
254 for (
i = a.
min() + 1;
i <= a.
max();
i++ )
255 if (
level( a[
i] ) > maxlevel )
262 for (
i = maxlevel;
i >= 1;
i-- )
276 while (
i <= maxlevel )
296void optvalues (
const int * df,
const int * dg,
const int n,
int & p1,
int &pe )
304 }
while ( ( df[
i] == 0 ) || ( dg[
i] == 0 ) );
308 o1 = df[
i]; oe = dg[
i];
312 o1 = dg[
i]; oe = df[
i];
317 if ( ( df[
i] != 0 ) && ( dg[
i] != 0 ) )
321 if ( o1 >= df[
i]) { o1 = df[
i]; p1 =
i; }
322 if ( oe < dg[
i]) { oe = dg[
i]; pe =
i; }
326 if ( o1 >= dg[
i]) { o1 = dg[
i]; p1 =
i; }
327 if ( oe < df[
i]) { oe = df[
i]; pe =
i; }
351 int n =
tmax(
f.level(),
g.level() );
356 for (
i = 0;
i <= n;
i++ )
376 if ( (
i !=
k ) && (
i != pe ) && (
i != p1 ) )
const CanonicalForm CFMap CFMap & N
Iterators for CanonicalForm's.
static CanonicalForm subsrec(const CanonicalForm &f, const MPListIterator &i)
static CanonicalForm subsrec ( const CanonicalForm & f, const MPListIterator & i )
static void insfunc(MapPair &orgp, const MapPair &newp)
static void insfunc ( MapPair & orgp, const MapPair & newp )
static int cmpfunc(const MapPair &p1, const MapPair &p2)
static int cmpfunc ( const MapPair & p1, const MapPair & p2 )
static void optvalues(const int *df, const int *dg, const int n, int &p1, int &pe)
CanonicalForm compress(const CanonicalForm &f, CFMap &m)
CanonicalForm compress ( const CanonicalForm & f, CFMap & m )
class to iterate through CanonicalForm's
CF_NO_INLINE int exp() const
get the current exponent
CF_NO_INLINE CanonicalForm coeff() const
get the current coefficient
CF_NO_INLINE int hasTerms() const
check if iterator has reached the end of CanonicalForm
CanonicalForm operator()(const CanonicalForm &f) const
CanonicalForm CFMap::operator () ( const CanonicalForm & f ) const.
void newpair(const Variable &v, const CanonicalForm &s)
void CFMap::newpair ( const Variable & v, const CanonicalForm & s )
CFMap & operator=(const CFMap &m)
CFMap & CFMap::operator = ( const CFMap & m )
MapPair & operator=(const MapPair &p)
MapPair & MapPair::operator = ( const MapPair & p )
factory's class for variables
const CanonicalForm int s
const Variable & v
< [in] a sqrfree bivariate poly
some useful template functions.
template CanonicalForm tmax(const CanonicalForm &, const CanonicalForm &)
ostream & operator<<(ostream &s, const spectrum &spec)