Sindbad~EG File Manager
typedef term POLYnomial;
#define LEADING(t) ARG(ARITY(t)-1,(t))
#define DEGREE(t) (unsigned short)(ARITY(t)-1)
int makepoly(term t,term x, POLYnomial *ans); /* write t as POLY in x */
int homogeneous_poly(term t, term x, term y, POLYnomial *ans);
int changetopoly(term t, term *x, POLYnomial *ans); /* find x and write t as POLY in x */
term poly_term(POLYnomial, term); /* convert POLYnomial to ordinary term */
int polygcd(term u, term v, term *ans);
int listpolygcd(term *, unsigned, term *);
POLYnomial polynomial_gcd(POLYnomial,POLYnomial); /* works on POLY's only */
int ispolyin(term u, term x); /* see if u is a polynomial in x; return 1 if it is */
int monomial_form(term t, term x, long *deg, term *coef); /* zero return is success */
POLYnomial polyadd(POLYnomial a, POLYnomial b);
POLYnomial polysub(POLYnomial a, POLYnomial b);
POLYnomial polyneg(POLYnomial);
POLYnomial polyexp(POLYnomial,unsigned long);
int polymult(POLYnomial a, POLYnomial b, POLYnomial *ans);
void pseudodiv(POLYnomial u, POLYnomial v, POLYnomial *q, POLYnomial *r, term *cc);
int polydiv(term x, term u, term v, term *q, term *r);
int pp(POLYnomial e, term *content, POLYnomial *pp);
POLYnomial multpolybyconstant(term c, POLYnomial p);
term squarefree(POLYnomial p,term *c); /* returns product of POLYnomials */
POLYnomial polyderiv(POLYnomial t);
int rational_function(term,term);
int polyprod(term,term);
int polyquo(term,term);
int polypower(term,term);
int grat(term,term);
int gpoly(term,term);
int intpolynomial(POLYnomial);
int cancelgcd_aux(term, term, term *, term *);
void extended_polygcd(POLYnomial u, POLYnomial v, POLYnomial *alpha, POLYnomial *beta, POLYnomial *ans);
int partialfractions(term t, term x, term *ans);
int divideoutpowers(term, term, term, unsigned *, term *);
int polyform(term, term, POLYnomial *);
#define MAXDEGREE 256 /* maximum degree of polynomial, + 1 */
void set_types(term *t);
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists