17 static void countAddTerm (map<Tree,Tree>& M,
Tree t,
bool invflag);
18 static void incTermCount (map<Tree,int>& M,
Tree t,
bool invflag);
20 static Tree simplifyingReorganizingMul(
Tree t1,
Tree t2);
22 static void factorizeAddTerm(map<Tree,Tree>& M);
35 cerr <<
"START normalizeAddTerm : " <<
ppsig(t) << endl;
mterm greatestDivisor() const
return the greatest divisor of any two mterms
aterm factorize(const mterm &d)
reorganize the aterm by factorizing d
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
bool isSigFixDelay(Tree t, Tree &t0, Tree &t1)
Tree normalizeFixedDelayTerm(Tree s, Tree d)
Compute the normal form of a fixed delay term (s).
int getSigOrder(Tree sig)
retrieve the order annotation (between 0 and 3) of a signal.
Implements a multiplicative term, a term of type k*x^n*y^m*...
static Tree buildPowTerm(Tree f, int q)
produce the canonical tree correspoding to a mterm
bool isNotZero() const
true if mterm doesn't represent number 0
Tree normalizeDelay1Term(Tree s)
Compute the normal form of a 1-sample delay term s'.
Tree sigAdd(Tree x, Tree y)
int complexity() const
return an evaluation of the complexity
Tree normalizeAddTerm(Tree t)
Compute the Add-Normal form of a term t.
Tree normalizedTree() const
return the corresponding normalized expression tree
Tree sigFixDelay(Tree t0, Tree t1)
bool isSigDiv(Tree a, Tree &x, Tree &y)
Tree sigMul(Tree x, Tree y)
bool isSigMul(Tree a, Tree &x, Tree &y)
bool isProj(Tree t, int *i, Tree &rgroup)
Tree sigDiv(Tree x, Tree y)
Implements a additive term, a set of mterms added together m1 + m2 + m3 + ...