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