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

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...
 

Detailed Description

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

Author
BC LH JT LARIS
Version
2.0

Member Function Documentation

◆ getNc()

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)

◆ getNl()

int etvo::gNg::getNl ( ) const

getter : gives nl in g^nl.M_m.g^nc.B_b.g^nr depends on the chosen form

◆ getNr()

int etvo::gNg::getNr ( ) const

getter : gives nc in g^nl.M_m.g^nc.B_b.g^nr depends on the chosen form

◆ setCanonForm()

void etvo::gNg::setCanonForm ( unsigned  val = 0)
static

Class method to choose the canonical form of gNg terms

Parameters
val=0-leftform 1-central form 2- right form

◆ toString()

std::string etvo::gNg::toString ( unsigned  nVer = 0) const

gives a string description of a gNg term

Parameters
nVer(default=0)
if nVer=0 -> produces string "g-3.m3.b4.g4"
if nVer!=0 -> only for development

Member Data Documentation

◆ _canon

unsigned etvo::gNg::_canon =0
staticprotected

set the canonical form of gNg (default left form)

set the default form (=0) as Left Form


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