(Event+Time).Variant Operators  2.3
Operators for Timed Discrete Event Systems in Dioids
etvo::poly Class Reference

Wrapper class to mmgd::poly from from MinMaxGD library. More...

#include <polyWrapper.h>

Inheritance diagram for etvo::poly:
mmgd::poly etvo::ISterm

Public Member Functions

bool isEpsilon () const
 check if it is equal to epsilon
 
bool isE () const
 check if it is equal to e
 
bool isDegenerate () const
 check if it is degenrate (at least one degenrate monomial)
 
 poly ()
 default constructor = epsilon polynomial
 
 poly (bool TopNotE)
 constructor Top or E polynomial : if TopNotE=true -> Top else -> g^0.d^0
 
 poly (const gd &m)
 constructor : a polynomial with only one monomial p=g^n.d^t
 
 poly (const mmgd::poly &p)
 constructor : a polynomial set from a mmgd::poly object
 
 poly (long n, long t)
 constructor : a polynomial with only one monomial p=g^n.d^t
 
 poly (const std::vector< mmgd::gd > &v)
 constructor: set a polynomial initialized from a collection of monomials. The polynomial p=Sum_i g^nid^ti is set in a standard form where ni<ni+1 ti<ti+1
 
 poly (const std::vector< gd > &v)
 constructor: a polynomial initialized from a collection of monomials. The polynomial p=Sum_i g^nid^ti is set in a standard form where ni<ni+1 ti<ti+1
 
void add (const gd &m)
 adds a new monomial to the current polynomial, but simplification does not operate. Then, the current polynomial is no longer in standard form.
 
unsigned size () const
 returns the number of monomials
 
gd operator[] (unsigned i) const
 returns a copy of one of the monomials (modification is not allowed)
 
polyoperator= (const poly &p)
 operator = assignment
 
polyoperator= (const gd &m)
 operator = assignment
 
bool operator== (const poly &p) const
 operator== checks equality
 
bool operator!= (const poly &p) const
 
bool operator<= (const poly &p) const
 operator<= order according to the MinMax[[g,d]] rule
 
bool operator>= (const poly &p) const
 operator<= order according to the MinMax[[g,d]] rule
 
poly operator+ (const poly &p) const
 operator+ sum of polynomials p1+p2 is a polynomial
 
poly operator+ (const gd &m) const
 operator+ sum of a polynomial with a monomial p+m is a polynomial
 
poly operator* (const poly &p) const
 operator* product of polynomials p1*p2 is a polynomial
 
poly operator* (const gd &m) const
 operator* product of a polynomial and a monomial p*m is a polynomial
 
poly inf (const poly &p) const
 infimum of two polynomials p1.inf(p2)=greatest p s.t. p<=p1 and p<=p2
 
poly inf (const gd &m) const
 infimum p1.inf(m)=greatest p s.t. p<=p1 and p<=m
 
poly lfrac (const poly &p) const
 product residuation p1.lfrac(p2) = greatest x s.t. p2.x<=p1 since the product is commutative, lfrac equiv. rfrac equiv frac
 
poly rfrac (const poly &p) const
 product residuation p1.rfrac(p2) = greatest x s.t. x.p2<=p1 since the product is commutative, lfrac equiv. rfrac equiv frac
 
poly frac (const poly &p) const
 product residuation p1.frac(p2) = greatest x s.t. p2.x<=p1
 
poly frac (const gd &m) const
 product residuation p.frac(m) = greatest x s.t. m.x<=p
 
series star () const
 Kleene star of a polynomial (p)*=e+p+p^2+p^3... is a series.
 
poly prcaus () const
 Causal projection of a polynomial. Returns the greatest polynomial Sum g^nid^ti with ni,ti positives.
 
std::string ToString () const
 Returns a string giving the description of the polynomial.
 
void canon ()
 
- Public Member Functions inherited from mmgd::poly
 poly (const poly &)
 
 poly (const gd &)
 
 poly (long g, long d)
 
 poly (unsigned int, gd *)
 
polyoperator= (const poly &)
 
polyoperator() (long g, long d)
 
void init (unsigned int, gd *, int)
 
polyoperator= (const gd &gd1)
 
polyinit (long g, long d)
 
void affecte (unsigned int, const gd *, unsigned int propre)
 
gdgetpol (int i) const
 
unsigned int getn () const
 
void setsimple ()
 
gdgetdata ()
 
void popj (unsigned int j)
 
void pop ()
 
void add (const gd &m1)
 
void simpli ()
 
void onlysimpli ()
 
void swapgd (gd &a, gd &b)
 
int partitionner (gd *tab, int debut, int dernier, int pivot, int comp(const void *, const void *))
 
int operator== (const poly &)
 
- Public Member Functions inherited from etvo::ISterm
 ISterm (bool isEpsilon=false)
 default constructor : an epsilon term
 
 ISterm (int epsNTop)
 constructor to specify the type of ISterm
 
bool isEpsilon () const
 
bool isTop () const
 
bool isExtreme () const
 
void setEpsilon ()
 
void setTop ()
 
bool operator== (const ISterm &) const
 

Static Public Member Functions

static poly Epsilon ()
 gives the epsilon polynomial
 
static poly E ()
 gives the neutral polynomial e=g^0.d^0
 
static poly Top ()
 gives the top polynomial T
 

Additional Inherited Members

- Protected Attributes inherited from etvo::ISterm
char _epsNTop
 _epsNTop = -1 epsilon 0 not extrem (normal) +1 Top
 

Detailed Description

Wrapper class to mmgd::poly from from MinMaxGD library.

Class for a finite sum of monomials g^n0.d^t0+...+g^nK.d^tK with finite exponents [ni,ti finite]

An epsilon and top polonomial exist

Author
BC LH JT LARIS
Version
2.0

The documentation for this class was generated from the following files: