Deleted: TAG_TPN/src_old/Aggregate.h =================================================================== --- TAG_TPN/src (copie)/Aggregate.h 2016-03-22 14:10:19 UTC (rev 2) +++ TAG_TPN/src_old/Aggregate.h 2016-06-01 15:24:37 UTC (rev 25) @@ -1,52 +0,0 @@ -#ifndef AGGREGATE_H -#define AGGREGATE_H -#include -#include -#include -#include -#include -#include "petrinet.hh" -#include "RdPBDD.h" -#include - - - -typedef std::pair enable_t; -typedef std::set Enable; -typedef interval** Meet; - - -class Aggregate -{ - -public : //methodes - int getId; - Aggregate(){visited=false;AccessMin=0;AccessMax=0;DiffMat=NULL;} //constructeur - ~Aggregate(); //destructeur - marking* getMarking(){return m;} - bdd get_bddmarking() {return mbdd;} - bool searchForE(Enable E); - bool serachForMeet(Meet meet); - void addEMeet(Enable E, Meet meet); - - - -private : //attributs - int Id; - marking *m; - bdd mbdd; - std::vector> *EMeet; - std::map MapEnable; - std::map MapMeet; - - - - -}; - - - - - - -#endif Copied: TAG_TPN/src_old/Aggregate.h (from rev 24, TAG_TPN/src (copie)/Aggregate.h) =================================================================== --- TAG_TPN/src_old/Aggregate.h (rev 0) +++ TAG_TPN/src_old/Aggregate.h 2016-06-01 15:24:37 UTC (rev 25) @@ -0,0 +1,88 @@ +/* + * Aggregate.h + * + * + * Created by Kais Klai on 25/10/12. + * Copyright 2012 LIPN. All rights reserved. + * + */ + +#ifndef AGGREGATE_H +#define AGGREGATE_H +#include +#include +#include +#include +#include +#include "petrinet.hh" +#include "RdPBDD.h" + +typedef std::pair enable_t; +typedef std::vector Enable; +static std::vector > DiffTrans; +class Aggregate + { + public : + int Id; + int getId(){return Id;} + Aggregate(){visited=false;AccessMin=0;AccessMax=0;DiffMat=NULL;} + ~Aggregate(); + int nbEnable(){return E.size();} + /// \brief Print the aggregate format. + friend std::ostream& operator<<(std::ostream &, const Aggregate &); + void printmarking(const petri_net&); + void printmarking(const RdPBDD&); + void set_marking(marking *mm) {m=mm;} + void set_bddmarking(const bdd& mm) {mbdd=mm;} + marking* get_marking() {return m;} + bdd get_bddmarking() {return mbdd;} + void SetAttributes(const petri_net&); + void SetAttributes(const RdPBDD&); + Aggregate* SuccAggregate(const int,const petri_net&); + Aggregate* SuccAggregate(const int,const RdPBDD&); + bool firable(const int) const; + std::vector firables() const; + std::vector firables(const petri_net& pn) const; + std::vector firables(const petri_net& pn,interval **BETA) const; + interval IntervalOldTrans(std::string ); + int PosEnabledTrans(std::string ); + bool isold(int i,const RdPBDD& pnbdd,int j) const; + std::vector OldTrans(int t,const RdPBDD& pnbdd) const; + Aggregate* SuccAggregate(const int i,const RdPBDD& pnbdd, interval ** BETA, std::list* O, std::list* N); + int ** ComputeBetaMatrix( Aggregate* from, int ** BETAFROM,const RdPBDD& pnbdd,std::list* O,std::list* N); + interval ** getMeet(){return Meet;}; + void ComputeMeet(Aggregate * from,const int t, const RdPBDD& pnbdd,std::list* O,std::list* N); + bool operator==(const Aggregate&); + bool egalbdd(const Aggregate& a); + bool egalbdd(const Aggregate& ,const RdPBDD& ); + void addSucc(Aggregate*,std::string); + void setVisited(){visited=true;}; + bool isVisited(){return visited==true;} + bool compatibleTrans(int i,int j, const RdPBDD& pnbdd, const Aggregate&); + bool firable(int n,const RdPBDD& pnbdd) const; + int MaxAlphaMeet(int t) const; + int Delta() const; + int StillCanWait(int i) const; + void setId(int n ){Id=n;} + std::string trans_num(int i){return E[i].first;} + std::vector > getSucc(){return Successors;} + private : + int AccessMin, AccessMax; + int H,h; + marking *m; + bdd mbdd; + Enable E; + int **DiffMat; + bool visited; + std::vector > Predecessors, Successors; + std::vector > partitionTrans; + interval **Meet; + int *BETAINF; + + }; +//std::vector > DiffTrans; +typedef std::pair Edge; +typedef std::stack pile; +typedef std::vector > > pile_depth; +typedef std::vector pile_beta; +#endif