(Event+Time).Variant Operators
2.3
Operators for Timed Discrete Event Systems in Dioids
|
Class to describe terms in E[[d]] written g^n.Nabla_(m|b).g^n' = g^nl.M_m.B_b.g^nr. More...
#include <gNg.h>
Public Member Functions | |
gNg (int nl, unsigned int m, int nc, unsigned int b, int nr) | |
Create term g^nl.M_m.g^nc.B_b.g^nr. | |
gNg (int nl, unsigned int m, unsigned int b, int nr) | |
Create term g^nl.M_m.g^0.B_b.g^nr. | |
gNg (int nl, unsigned int mb, int nr) | |
Create term g^nl.M_mb.g^0.B_mb.g^nr. | |
gNg (int nc=0) | |
g^0.M_1.g^nc.B_1.g^0 = g^nc | |
int | getNl () const |
unsigned int | getM () const |
getter : gives m in g^nl.M_m.g^nc.B_b.g^nr | |
int | getNc () const |
unsigned int | getB () const |
getter : gives b in g^nl.M_m.g^nc.B_b.g^nr | |
int | getNr () const |
bool | operator<= (const gNg &m) const |
bool | operator>= (const gNg &m) const |
bool | operator== (const gNg &m) const |
void | canon () |
set to the canonical form (depends on setCanonForm choice) | |
void | canonL () |
set to the Left form [0<=nr<=b-1 and nc=0] | |
void | canonC () |
set to the Central [0<=nl<=m-1 and 0<=nr<=b-1] | |
void | canonR () |
set to the Right form [0<=nl<=m-1 and nc=0] | |
int | Fw (int ki) const |
value of C/C function Fw(ki) = floor(((nr+ki)/b)+nc)*m+nl | |
Fminp | getFw () const |
returns function Fw as a Fminp object | |
E_op | extendBy (unsigned mul) const |
Extension of g^nl M_m B_b g^nr -> SUM_i g^(nl+i* M_(mul*m) B_(mul*_b) g^(mul-1) .... | |
std::pair< unsigned, unsigned > | getPeriodicity () const |
returns periodicity as a pair <_b,_m> | |
std::string | toString (unsigned nVer=0) const |
bool | isEpsilon () |
Static Public Member Functions | |
static void | setCanonForm (unsigned val=0) |
static unsigned | getCanonForm () |
Protected Attributes | |
int | _nl |
nl,m,b,nr | |
unsigned int | _m |
int | _nc |
unsigned int | _b |
int | _nr |
Static Protected Attributes | |
static unsigned | _canon =0 |
set the canonical form of gNg (default left form) More... | |
Class to describe terms in E[[d]] written g^n.Nabla_(m|b).g^n' = g^nl.M_m.B_b.g^nr.
Formal series in E[[d]] can be seen as infinite sums of terms (g^nli.M_m.B_b.g^nri).d^t_i
We can also decompose a gNg term into a central form (g^nli.M_m.g^nci.B_b.g^nri) where nli<m and nri<b
int etvo::gNg::getNc | ( | ) | const |
getter : gives nc in g^nl.M_m.g^nc.B_b.g^nr depends on the chosen form (it is 0 in left and right form)
int etvo::gNg::getNl | ( | ) | const |
getter : gives nl in g^nl.M_m.g^nc.B_b.g^nr depends on the chosen form
int etvo::gNg::getNr | ( | ) | const |
getter : gives nc in g^nl.M_m.g^nc.B_b.g^nr depends on the chosen form
|
static |
Class method to choose the canonical form of gNg terms
val=0-left | form 1-central form 2- right form |
std::string etvo::gNg::toString | ( | unsigned | nVer = 0 | ) | const |
gives a string description of a gNg term
nVer | (default=0) if nVer=0 -> produces string "g-3.m3.b4.g4" if nVer!=0 -> only for development |
|
staticprotected |
set the canonical form of gNg (default left form)
set the default form (=0) as Left Form