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