#include <Vdd.hh>
|
| VddFactory (const Net &net) |
|
virtual | ~VddFactory () |
|
const Vdd * | getVdd (Place place, int tokens, const Vdd *eq, const Vdd *sup) |
|
int | getCardinality (const Vdd *vdd) |
|
bool | holds (const Vdd *vdd, Place p, int tokens) const |
|
const Vdd * | getVdd (const Vdd *vdd, const Zsl *zsl) |
|
const Vdd * | getVdd (const set< Place > &marking) |
|
bool | isEmpty (const Vdd *vdd) const |
|
bool | isNull (const Vdd *vdd) const |
|
const Vdd * | getVdd (unsigned id) |
|
const Vdd * | addZslToVdd (const Vdd *vdd, const Zsl *zsl) |
|
const Vdd * | getFirable (const Vdd *vdd, const Zsl *zsl) |
|
const Vdd * | getUnion (const Vdd *vdd1, const Vdd *vdd2) |
|
const Vdd * | getIntersection (const Vdd *vdd1, const Vdd *vdd2) |
|
const Net * | owner () const |
|
void | printDot (const string &fileName) const |
|
void | printDot (const Vdd *vdd, const string &fileName) const |
|
const Vdd * | empty () const |
|
const Vdd * | null () const |
|
Definition at line 169 of file Vdd.hh.
◆ VddFactory()
Diades::Petri::VddFactory::VddFactory |
( |
const Net & |
net | ) |
|
|
inline |
◆ ~VddFactory()
virtual Diades::Petri::VddFactory::~VddFactory |
( |
| ) |
|
|
virtual |
◆ addZslToVdd()
const Vdd* Diades::Petri::VddFactory::addZslToVdd |
( |
const Vdd * |
vdd, |
|
|
const Zsl * |
zsl |
|
) |
| |
- Parameters
-
- Returns
- a vdd that results from the triggering of the transition represented by zsl
- See also
- the operqtion oplus of molinaro
◆ empty()
const Vdd* Diades::Petri::VddFactory::empty |
( |
| ) |
const |
|
inline |
- Returns
- the empty vdd
Definition at line 336 of file Vdd.hh.
◆ getCardinality()
int Diades::Petri::VddFactory::getCardinality |
( |
const Vdd * |
vdd | ) |
|
◆ getFirable()
const Vdd* Diades::Petri::VddFactory::getFirable |
( |
const Vdd * |
vdd, |
|
|
const Zsl * |
zsl |
|
) |
| |
- Parameters
-
- Returns
- the vdd representing the subset of markings from which the transition represented by the zsl is firable
◆ getIntersection()
const Vdd* Diades::Petri::VddFactory::getIntersection |
( |
const Vdd * |
vdd1, |
|
|
const Vdd * |
vdd2 |
|
) |
| |
- Parameters
-
- Returns
- get the vdd that represents the intersection of vdd1 and vdd2
◆ getUnion()
const Vdd* Diades::Petri::VddFactory::getUnion |
( |
const Vdd * |
vdd1, |
|
|
const Vdd * |
vdd2 |
|
) |
| |
- Parameters
-
- Returns
- get the vdd that represents the union of vdd1 and vdd2
◆ getVdd() [1/4]
const Vdd* Diades::Petri::VddFactory::getVdd |
( |
Place |
place, |
|
|
int |
tokens, |
|
|
const Vdd * |
eq, |
|
|
const Vdd * |
sup |
|
) |
| |
This method implements the find_or_add_vdd algorithm of Molinaro
- Parameters
-
place | a Place of net() |
tokens | the number of tokens in the place |
eq | a Vdd or 0 (a pointer to a Vdd with a place with a greater id) |
sup | a Vdd or 0 (a pointer to a Vdd with the same place but with more tokens) |
- Returns
- the Vdd(place,tokens,eq,sup)
- Postcondition
- if not in the factory, the Vdd is created, guarantee that the Vdd has a unique representative in the VddFactory
◆ getVdd() [2/4]
const Vdd* Diades::Petri::VddFactory::getVdd |
( |
const Vdd * |
vdd, |
|
|
const Zsl * |
zsl |
|
) |
| |
◆ getVdd() [3/4]
const Vdd* Diades::Petri::VddFactory::getVdd |
( |
const set< Place > & |
marking | ) |
|
◆ getVdd() [4/4]
const Vdd* Diades::Petri::VddFactory::getVdd |
( |
unsigned |
id | ) |
|
|
inline |
- Parameters
-
- Returns
- the Vdd associated with this id, if not exist return 0
Definition at line 276 of file Vdd.hh.
◆ holds()
bool Diades::Petri::VddFactory::holds |
( |
const Vdd * |
vdd, |
|
|
Place |
p, |
|
|
int |
tokens |
|
) |
| const |
- Parameters
-
vdd | a Vdd |
p | a Place |
tokens | a set of tokens |
- Returns
- true if for any state of the marking in vdd, (p,tokens) is true.
◆ isEmpty()
bool Diades::Petri::VddFactory::isEmpty |
( |
const Vdd * |
vdd | ) |
const |
|
inline |
- Parameters
-
- Returns
- true if the vdd is the empty vdd
Definition at line 259 of file Vdd.hh.
◆ isNull()
bool Diades::Petri::VddFactory::isNull |
( |
const Vdd * |
vdd | ) |
const |
|
inline |
- Parameters
-
- Returns
- true if the vdd is the empty vdd
Definition at line 267 of file Vdd.hh.
◆ null()
const Vdd* Diades::Petri::VddFactory::null |
( |
| ) |
const |
|
inline |
- Returns
- the null vdd
Definition at line 342 of file Vdd.hh.
◆ owner()
const Net* Diades::Petri::VddFactory::owner |
( |
| ) |
const |
|
inline |
◆ printDot() [1/2]
void Diades::Petri::VddFactory::printDot |
( |
const string & |
fileName | ) |
const |
Export a dot output of the factory for debugging
- Parameters
-
fileName | the name of the output file |
◆ printDot() [2/2]
void Diades::Petri::VddFactory::printDot |
( |
const Vdd * |
vdd, |
|
|
const string & |
fileName |
|
) |
| const |
Export a dot output of a vdd for debugging
- Parameters
-
fileName | the name of the output file |
◆ _card
vector<int> Diades::Petri::VddFactory::_card |
|
private |
◆ _empty
Vdd* Diades::Petri::VddFactory::_empty |
|
private |
◆ _net
const Net* Diades::Petri::VddFactory::_net |
|
private |
◆ _null
Vdd* Diades::Petri::VddFactory::_null |
|
private |
◆ _table
vector<Vdd *> Diades::Petri::VddFactory::_table |
|
private |
◆ _vdd
vector< vector< unordered_map<unsigned, unordered_map <unsigned, Vdd *> > > > Diades::Petri::VddFactory::_vdd |
|
private |
The documentation for this class was generated from the following file:
- /home/yannick/laas/redmine/tools/diades/include/diades/petri/Vdd.hh