3 #ifndef INCL_INT_POLY_H
4 #define INCL_INT_POLY_H
17 #define OSTREAM std::ostream
18 #elif defined(HAVE_IOSTREAM_H)
20 #define OSTREAM ostream
45 term() : next(0), coeff(0), exp(0) {}
50 void*
operator new(size_t)
56 void operator delete(
void* addr, size_t)
99 const char *
classname()
const {
return "InternalPoly"; }
159 void*
operator new(size_t)
165 void operator delete(
void* addr, size_t)
InternalCF * neg()
InternalCF * InternalPoly::neg ()
static void mulTermList(termList, const CanonicalForm &, const int)
int comparesame(InternalCF *)
comparesame(), comparecoeff() - compare with an InternalPoly.
InternalCF * mulsame(InternalCF *)
static void negateTermList(termList)
static termList modTermList(termList, const CanonicalForm &, termList &)
Variable variable() const
InternalCF * tryDivsame(InternalCF *, const CanonicalForm &, bool &)
InternalCF * dividecoeff(InternalCF *, bool)
factory's class for variables
static void appendTermList(termList &, termList &, const CanonicalForm &, const int)
const char * classname() const
const CanonicalForm CFMap CFMap int &both_non_zero int n
InternalCF * divsame(InternalCF *)
static termList divideTermList(termList, const CanonicalForm &, termList &)
void divremcoeff(InternalCF *, InternalCF *&, InternalCF *&, bool)
CanonicalForm tailcoeff()
CanonicalForm InternalPoly::tailcoeff (), int InternalPoly::taildegree ()
InternalCF * modulocoeff(InternalCF *, bool)
bool inQuotDomain() const
#define omTypeAllocBin(type, addr, bin)
bool divremsamet(InternalCF *, InternalCF *&, InternalCF *&)
static const omBin InternalPoly_bin
virtual class for internal CanonicalForm's
bool isUnivariate() const
InternalCF * tryInvert(const CanonicalForm &, bool &)
InternalCF * subsame(InternalCF *)
InternalCF * tryDividecoeff(InternalCF *, bool, const CanonicalForm &, bool &)
int sign() const
int InternalPoly::sign () const
InternalCF * dividesame(InternalCF *)
CanonicalForm coeff(int i)
CanonicalForm InternalPoly::coeff ( int i )
static termList divTermList(termList, const CanonicalForm &, termList &)
static termList deepCopyTermList(termList, termList &)
bool divremcoefft(InternalCF *, InternalCF *&, InternalCF *&, bool)
InternalCF * tryDivcoeff(InternalCF *, bool, const CanonicalForm &, bool &)
InternalCF * tryMulsame(InternalCF *, const CanonicalForm &)
static termList addTermList(termList, termList, termList &, bool negate)
void divremsame(InternalCF *, InternalCF *&, InternalCF *&)
bool inBaseDomain() const
factory's class for polynomials
InternalCF * modulosame(InternalCF *)
InternalCF * modsame(InternalCF *)
InternalCF * deepCopyObject() const
static void freeTermList(termList)
void print(OSTREAM &, char *)
static termList tryDivTermList(termList, const CanonicalForm &, termList &, const CanonicalForm &, bool &)
bool inPolyDomain() const
class to iterate through CanonicalForm's
static termList mulAddTermList(termList theList, termList aList, const CanonicalForm &c, const int exp, termList &lastTerm, bool negate)
static const omBin term_bin
const Variable & v
< [in] a sqrfree bivariate poly
InternalCF * modcoeff(InternalCF *, bool)
static termList copyTermList(termList, termList &, bool negate=false)
InternalCF * divcoeff(InternalCF *, bool)
bool inCoeffDomain() const
int degree()
int InternalPoly::degree ()
InternalCF * addsame(InternalCF *)
term(term *n, const CanonicalForm &c, int e)
static termList reduceTermList(termList first, termList redterms, termList &last)
bool tryDivremsamet(InternalCF *, InternalCF *&, InternalCF *&, const CanonicalForm &, bool &)
Factory's internal CanonicalForm's.
#define omFreeBin(addr, bin)
bool tryDivremcoefft(InternalCF *, InternalCF *&, InternalCF *&, bool, const CanonicalForm &, bool &)
InternalCF * mulcoeff(InternalCF *)
int comparecoeff(InternalCF *)
comparecoeff() always returns 1 since CO is defined to be larger than anything which is a coefficient...
InternalCF * addcoeff(InternalCF *)
InternalCF * subcoeff(InternalCF *, bool)