49 ASSERT( flag,
"illegal level" );
85 ASSERT(
name !=
'@',
"illegal variable name" );
86 char * newvarnames =
new char [n+2];
87 for (
i = 0;
i < n;
i++ )
89 newvarnames[n] =
name;
104 char * newvarnames =
new char [
l+2];
106 for (
i = 0;
i < n;
i++ )
108 for (
i = n;
i <
l;
i++ )
109 newvarnames[
i] =
'@';
110 newvarnames[
l] =
name;
111 newvarnames[
l+1] = 0;
143 if ( (vn == 0) || ((
int)strlen( vn ) <=
l) )
144 os << dn <<
"_" <<
l;
145 else if ( vn[
l] ==
'@' )
146 os << dn <<
"_" <<
l;
164 ASSERT (
mipo.isUnivariate(),
"not a legal extension");
181 char * newvarnames =
new char [n+2];
182 for (
i = 0;
i < n;
i++ )
184 newvarnames[n] =
name;
185 newvarnames[n+1] = 0;
191 for (
i = 0;
i < n;
i++ )
264 int last_var=-
alpha.level();
267 ASSERT (n+1 >= last_var,
"wrong variable");
277 char * newvarnames =
new char [last_var+1];
278 for (
i = 0;
i < last_var;
i++ )
280 newvarnames[last_var] = 0;
284 for (
i = 0;
i < last_var;
i++ )
296 char * newvarnames =
new char [-
alpha.level() + 2];
297 for (
i = 0;
i <= -
alpha.level();
i++ )
299 newvarnames[-
alpha.level()+1] = 0;
303 for (
i = 0;
i <= -
alpha.level();
i++ )
#define ASSERT(expression, message)
Interface to generate InternalCF's over various domains from intrinsic types or mpz_t's.
Iterators for CanonicalForm's.
class to iterate through CanonicalForm's
factory's class for polynomials
factory's class for variables
Variable(int l, bool flag)
void setmipo(InternalPoly *p)
ext_entry(InternalPoly *mipoly, bool reduce)
ext_entry & operator=(const ext_entry &e)
ext_entry(const ext_entry &e)
const Variable & v
< [in] a sqrfree bivariate poly
Factory's internal polynomials.
int name
New type name for int.
void setReduce(const Variable &alpha, bool reduce)
static CanonicalForm conv2mipo(const CanonicalForm &mipo, const Variable &alpha)
bool getReduce(const Variable &alpha)
Variable rootOf(const CanonicalForm &mipo, char name)
returns a symbolic root of polynomial with name name Use it to define algebraic variables
void prune1(const Variable &alpha)
InternalPoly * getInternalMipo(const Variable &alpha)
STATIC_VAR ext_entry * algextensions
void prune(Variable &alpha)
CanonicalForm getMipo(const Variable &alpha, const Variable &x)
STATIC_VAR char * var_names_ext
OSTREAM & operator<<(OSTREAM &os, const Variable &v)
STATIC_VAR char default_name_ext
STATIC_VAR char default_name
void setMipo(const Variable &alpha, const CanonicalForm &mipo)
STATIC_VAR char * var_names
bool hasMipo(const Variable &alpha)