(Event+Time).Variant Operators  2.3
Operators for Timed Discrete Event Systems in Dioids
matrixMap.h
1 #ifndef MATRIXMAP_H
2 #define MATRIXMAP_H
3 
4 
5 #include <map>
6 #include <utility>
7 #include "serie.h"
8 
9 namespace mmgd
10 {
11 
12  serie s_epsilon;
13  typedef std::pair<int, int> ind;
14  /*************************************************************************************/
15  /*************************************************************************************/
16 
17  class matrixMap {
18  private:
19  int col, row;
20  unsigned int value;
21 
22  std::map<std::pair<int, int>, serie> * aData;
23  // void affecte(std::map<std::pair<int,int>,serie>); //affectation d'un ��ent avec un tableau de series
24  void affecte(std::map<std::pair<int, int>, serie> & list_data, int ligne, int colonne, int valeur);
25 
26  public:
27  matrixMap(void);
28  matrixMap(int, int);// constructeur 0 : matrice = epsilon + epsilon.(epsilon)*
29  matrixMap(const matrixMap &);// constructuer 1 : matrice initialisee avec un objet matrice
30 
31  matrixMap(const serie &);// constructuer 2 : matrice initialisee avec un objet serie
32  matrixMap(poly &);// constructuer 3 : matrice initialisee avec un objet poly
33  matrixMap(gd &);// constructuer 4 : matrice initialisee avec un objet monome
34 
35 
36  ~matrixMap(void); // destructeur
37 
38  int getrow(void) { return row; }
39  int getcol(void) { return col; }
40  int getvalue(void) { return value; }
41 
42 
43  matrixMap& operator =(const matrixMap& a); //surdefinition du =, permet d'initialiser avec une autre matrice
44  int operator !=(const matrixMap& a); //surdefinition du =, permet d'initialiser avec une autre matrice
45  matrixMap& operator =(smatrix& a);
46 
47  matrixMap& operator =(serie& a); //surdefinition du =, permet d'initialiser avec une serie cast serei matrice
48  matrixMap& operator =(gd& gd1); // initialise avec un monome cast monome->matrice
49  matrixMap& operator =(poly& p1); // initialise avec un polynome cast polynome->matrice
50 
51  serie& operator()(int i, int j);
52 
53 
54  int operator==(const matrixMap & M); // surdefiniton de l'�alit�de matrice
55 
56  friend std::ostream & operator<<(std::ostream &flot, matrixMap &);//surdef. de <<
57  friend std::fstream & operator<<(std::fstream &flot, matrixMap &); // surdef de >> pour fichier
58 
59  friend matrixMap oplus(matrixMap&, matrixMap&); //somme de 2 matrices de series p�iodiques
60 
61 
62  friend matrixMap transpose(matrixMap& a);
63 
64  friend matrixMap inf(matrixMap& a, matrixMap& b); // inf de 2 matrices de s�ies p�iodiques
65 
66  friend matrixMap otimes(matrixMap&, matrixMap&); //produit de 2 matrices de series p�iodiques
67 
68  friend matrixMap lfrac(matrixMap&, matrixMap&); //residuation a gauche de 2 matrices de series p�iodiques b\a
69 
70  friend matrixMap rfrac(matrixMap& a, matrixMap& b); // residuation �droite de 2 matrices de series p�iodiques a/b
71 
72  friend matrixMap star(matrixMap ak_1);
73 
74  friend matrixMap prcaus(matrixMap &);
75 
76  friend int compare_multi(int a, int b);
77 
78 
79 
80  };
81 
82 }//fin namespace mmgd
83 #endif // matrixMapMAP_H
friend matrixMap rfrac(matrixMap &a, matrixMap &b)
Definition: matrixMap.cpp:789
Definition: poly.h:16
friend matrixMap lfrac(matrixMap &, matrixMap &)
Definition: matrixMap.cpp:672
friend matrixMap otimes(matrixMap &, matrixMap &)
Definition: matrixMap.cpp:536
Definition: matrixMap.h:17
Definition: gd.h:13
Definition: smatrix.h:11
Definition: gd.h:47
Definition: serie.h:14